Angular 动态列名称

我有过滤器函数,需要根据接收列名称过滤数组数据,我的问题是如何将接收列名称放入过滤器中?


静态代码(示例)

this.listOfData = this.listOfData.filter((item: DataItem) =>

  item.name.indexOf(filterFormData.formInput) !== -1

);

item.name名称是我的数组数据的列,因此它只会搜索names


我的代码

search(column): void {

      this.listOfData = this.listOfData.filter((item: DataItem) =>

        item.column.indexOf(filterFormData.formInput) !== -1

      );

}

column是我从搜索表单中获得的名称,它可以是列name、列id或列status等。


问题是我想使用动态列名而不是硬编码item.name即item.status//item.iditem.name


任何想法?


慕田峪7331174
浏览 97回答 1
1回答

长风秋雁

您可以通过以下方式通过变量访问对象的属性:item[column]其中列是项目的键,所以这应该有效:search(column): void {      this.listOfData = this.listOfData.filter((item: DataItem) =>        item[column]indexOf(filterFormData.formInput) !== -1      );}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript