类型缺少类型的以下属性

时间:2019-03-15 11:10:41

标签: angular typescript

我在打字稿文件中具有以下界面。

export interface TempContext {
  FriendlyName?: boolean;
  hList: SelectFilterListItem[];
}

SelectFilterListItem是另一个文件中的接口

export interface SelectFilterListItem {
  name: string;
  value: any;
}

然后我想在同一文件的函数中使用它

filterDef: new SelectFilterDef({
        filterList: (context: TempContext) => context.hList,
      }),

我收到以下错误

  

类型'(context:TempContext)=> SelectFilterListItem []'缺少   类型“ SelectFilterListItem []”中的以下属性:弹出,推送,   concat,join和另外25个。

2 个答案:

答案 0 :(得分:0)

根据我的说法,您的hList不是可选的,您必须向SelectFilterListItem提供context.hList类型的值,因为hListSelectFilterListItem[]类型的,即对象数组

因此,您的filterDef将更改为

    filterDef: new SelectFilterDef({
               filterList: (context: TempContext) => {
               context.hList = [{name: 'Test1',value: 'val1'},{name: 'Test2',value: 'val2'}]
               }
            })

答案 1 :(得分:0)

像这样在SelectFilterListItem文件中导入TempContext的文件。

从“某些路径”导入{SelectFilterListItem};

然后它将起作用。