如何使用 Typescript 为对象数组定义接口? [英] How can I define an interface for an array of objects with Typescript?
本文介绍了如何使用 Typescript 为对象数组定义接口?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有以下界面和代码.我以为我的定义是正确的,但出现错误:
I have the following interface and code. I thought I was doing the definitions correctly but I am getting an error:
interface IenumServiceGetOrderBy { id: number; label: string; key: any }[];
和:
getOrderBy = (entity): IenumServiceGetOrderBy => {
var result: IenumServiceGetOrderBy;
switch (entity) {
case "content":
result =
[
{ id: 0, label: 'CId', key: 'contentId' },
{ id: 1, label: 'Modified By', key: 'modifiedBy' },
{ id: 2, label: 'Modified Date', key: 'modified' },
{ id: 3, label: 'Status', key: 'contentStatusId' },
{ id: 4, label: 'Status > Type', key: ['contentStatusId', 'contentTypeId'] },
{ id: 5, label: 'Title', key: 'title' },
{ id: 6, label: 'Type', key: 'contentTypeId' },
{ id: 7, label: 'Type > Status', key: ['contentTypeId', 'contentStatusId'] }
];
break;
}
return result;
};
错误:
Error 190 Cannot convert '{}[]' to 'IenumServiceGetOrderBy':
Type '{}[]' is missing property 'id' from type 'IenumServiceGetOrderBy'
推荐答案
您可以使用 索引器:
interface EnumServiceGetOrderBy {
[index: number]: { id: number; label: string; key: any };
}
这篇关于如何使用 Typescript 为对象数组定义接口?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文