如何在过滤器javascript中过滤更多数据



如何从ngx数据表中筛选更多数据?我有这个过滤器,它只从";名称";列,但我还需要过滤来自其他列的数据,例如";id";,或";电话";

filterUpdate(event) {
const val = event.target.value.toLowerCase();
const filterData = this.rows.filter((item) => {
const filterData = item.nombre.toLowerCase().indexOf(val) !== -1 || !val;
return filterData;
});

// update the rows
this.filterRows = filterData;
console.log(filterData);
}

如果你想过滤所有列,你可以这样做:

const filterData = this.rows.filter((item) => {
let include = false;
for (const objValue in item) {
if (objValue.toLowerCase().includes(val)) include = true;
}
return include
});

您将使用for ... in ...循环遍历所有列,并检查您的val是否包含在任何列中。如果是,过滤器会保留对象,否则会拒绝它。

如果您只想检查某个列,您可以在定义filterData时简单地将这些列添加到If中,示例如下:

const filterData = this.rows.filter((item) => {
const filterData = item.nombre.toLowerCase().includes(val) || item.phone.toLowerCase().includes(val) || ...;
return filterData;
});

最新更新