我有这个方法:
pesquisar(): void {
console.log(this.razaoSocial);
if (this.razaoSocial || this.cnpj) {
this.empresaDataSource = EMPRESAS.filter(empresa => {
empresa.razaoSocial.indexOf(this.razaoSocial) > -1
});
} else {
this.empresaDataSource = EMPRESAS;
}
console.log(this.empresaDataSource);
}
razaoSocial
和cnpj
是绑定变量ngModel
我的数组EMPRESA
有两个对象:
export const EMPRESAS:Empresa[]=[
{id:1, razaoSocial:'Ciclo Cairu', cnpj:'12345678912345'},
{id:2, razaoSocial:'Industria', cnpj:'789456123456132'}
];
但我应用过滤器,例如:Indus
在html字段中,预计对象Industria
已在empresaDataSource
中过滤,但不是。
控制台中的输出日志是:
> Indus
> []
我的错误在哪里?
答案 0 :(得分:5)
你以错误的方式使用箭头功能。如果你添加花括号,它就像一个函数体,所以你必须在其中添加返回。
this.empresaDataSource = EMPRESAS.filter(empresa => {
return empresa.razaoSocial.indexOf(this.razaoSocial) > -1
});
或
this.empresaDataSource = EMPRESAS.filter(empresa => empresa.razaoSocial.indexOf(this.razaoSocial) > -1);