在typescript中定义对象类型以包含特定的属性键
我正在处理一个Ionic Sqlite数据库帮助程序库,为了简化其余函数的工作,我需要要求用户将Params属性上的ID键与其他键放在一起在typescript中定义对象类型以包含特定的属性键,typescript,Typescript,我正在处理一个Ionic Sqlite数据库帮助程序库,为了简化其余函数的工作,我需要要求用户将Params属性上的ID键与其他键放在一起 interface dbObj { tableName: string; orderBy: string; Params: paramsList; } Params属性应要求在其中包含ID键,但不应干扰用户可能在Params中添加的任何其他键 interface paramsList { ID: s
interface dbObj {
tableName: string;
orderBy: string;
Params: paramsList;
}
Params属性应要求在其中包含ID键,但不应干扰用户可能在Params中添加的任何其他键
interface paramsList {
ID: string;
????
}
如何强制在Params中使用ID键,但允许用户在paramsList中自由添加任何其他键?
我希望这不会听起来很愚蠢,因为我还是个打字新手。这应该行得通
interface dbObj {
...
Params: {ID: string, [key: string]: any};
}
现在,
Params
被强制具有ID
,并且它还可以包含任何其他字段。阅读并了解如何绕过它们,特别是说“更好的方法可能是添加字符串索引签名”的句子,如@jcalz所说,您可以拥有一个具有已定义属性和字符串索引签名的接口。这将假定所有其他属性都是字符串。接口参数列表{ID:string;[property:string]:string;}是。非常感谢你@Xenos我的回答有助于解决问题吗?