typescript 如何定义一个字段可能是多种类型的一种?

typescript 中一个字段是多个类型中的一种,这个字段的类型改如何定义呢?使用联合类型报错;

interface IText{
text:string;
}
interface IImage{
width:number;
height:number:
size:number;
}
interface IFile{
url:string;
name:string;
}


interface Message{
id:string;
payload:IText|IImage|IFile????
}

payload 可能是上面三种的一种,这个改如何定义呢?上面写法报错

阅读 749
1 个回答

试一下这样

interface IText{}
interface IImage{}
interface IFile{}

type AllTypes = IText | IImage| IFile

interface Message{
    id:string;
    payload:AllTypes 
}

是不是你安装的TS有问题,或者是别的什么问题,我在官方在线编辑器里面也没报错
传送门

推荐问题
logo
Microsoft
子站问答
访问
宣传栏