我有以下界面和代码。我以为我在做正确的定义,但我收到一个错误:
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'
您可以使用indexer定义接口:
interface EnumServiceGetOrderBy { [index: number]: { id: number; label: string; key: any }; }