Я создал поиск во всех моих столбцах из моей таблицы следующим образом:
filteredData = [];
cols = [ {name: 'site'}, {name: 'filiere'}, {name: 'typeEvenement'},
{name: 'typeSource'}, {name: 'motifNotif'}, {name: 'canal'}, {name:
'modele'},
{name: 'choixDefaut'}, {name: 'applicable'}, {name: 'dateDebut'}, {name:
'dateFin'}];
filterDatatable(event) {
const val = event.target.value.toLowerCase();
const colsAmt = this.cols.length;
const keys = Object.keys(this.temp[0]);
this.temp = this.filteredData.filter(function (item) {
for (let i = 0; i < colsAmt; i++) {
if (typeof (item[keys[i]]) === null || undefined) {
continue;
} else {
if (item[keys[i]].toLowerCase().indexOf(val) !== -1 || !val) {
return true;
}
}
}
});
}
У меня есть что-то подобное в temp [0]: {section: "GBOCAA", filiere: "ADP", type: "ADATVI", typeSource: "ADH", canal: "EMAIL", …}
As У меня была эта ошибка, я реализовал if typeof:
TypeError: Невозможно преобразовать undefined или null в объектОднако я получаю ту же ошибку, даже если я это сделал.
Итак, ваше условие if должно быть примерно следующим:
if (item[keys[i]] === undefined) {
continue;
}