Мне нужно отфильтровать данные таблицы в соответствии со значением, которое я установил во входных данных для события keyup
. Поскольку имеется несколько столбцов, отфильтрованные данные должны отображаться соответствующим образом.
В моем html я ниже
<tr>
<td *ngFor="let t of tableHeader">
<input type="text" [id]="t.key" (keyup)="inputChange($event)">
</td>
</tr>
Мой файл TS, как показано ниже
public inputChange(value) {
var prevData = this.dataSource;
if (this.selectedId == '') {
prevData = this.result;
}
else if (this.selectedId != '' && this.selectedId != value.target.id) {
prevData = this.result;
}
if (this.selectedId != '' && filterValue.target.value == '') {
this.result = prevData;
return;
}
this.selectedId = value.target.id;
this.inputValue = value.target.value;
var filteredData = this.result.filter(x => x[this.selectedId] && x[this.selectedId].toString().toLowerCase().includes(this.inputValue.toLowerCase()));
this.result = filteredData;
}
До сих пор я делал это и соответствующим образом фильтровал данные, но когда я удаляю значение из определенного входа фильтра, он загружает источник данных.
Ожидается: вместо источника данных отображать ранее отфильтрованные данные.