enum Link{
a = 'a',
b = 'b',
c = 'c'
}
interface Common{
name:string;
age: number
}
interface A extends Common{
id: string;
}
interface B extends Common{
value: string | number;
}
interface C extends Common{
id: string | number;
}
type U = A | B | C
interface Props{
Link: U;
type:string;
}
const p:Props = {
[Link.a]: {
name: 'li',
age: 24,
id: '123'
},
[Link.b]:{
name:'li',
age: 23,
value:'123'
},
[Link.c]:{
name: 'li',
age: 24,
id: '34'
},
type: 'c'
}
这样写是编译不过的。但是改成这样就可以了
interface Props{
[Link.a]: A;
[Link.b]: B;
[Link.c]: C;
type: string
}
但是我不想在Props中把枚举的所有值重新写一遍。正确的应该怎么写?
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…