关于这段代码
export interface Field {
selected: boolean;
value: any;
}
export interface ConflictingVersionModel {
[key: string]: Field;
selected: boolean;
}
我得到这个错误: TS2411:类型为“boolean”的属性“selected”不可分配给“string”索引类型“Field”。
如果我尝试相同的:
export interface ConflictingVersionModel {
[key: string]: {
selected: boolean;
value: any;
};
selected: boolean;
}
有什么地方可能是错的吗?
最佳答案
是的,那行不通。索引签名意味着“此对象的所有属性都具有此类型”。
不过,您可以使用交集类型
实现您正在尝试做的事情export interface Field {
selected: boolean;
value: any;
}
type ConflictingVersionModel = {
[key: string]: Field;
} & { selected: boolean }
关于typescript - 类型 'selected' 的属性 'boolean' 不可分配给 'string' 索引类型 'Field',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72669756/