Создавая компонент таблицы в угловом 2, в котором я создаю обычный фильтр поиска в поисковых системах, он работает правильно, но не отображает значения в соответствующих столбцах, когда я начинаю вводить seach keys в текстовом поле, отфильтрованные значения отображаются правильно, но не под их соответствующими столбцами. Извините, если этот вопрос дублируется, я потратил достаточно времени на поиск в Интернете, но не смог получить решение для него,Угловой 2 Фильтр труб для поиска таблицы не работает
Ниже приведен код для вашей справки
component.ts
import { Component } from '@angular/core';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
public tableData: any = [
{"Name":"Gaurav","Address":"Chennai","Contact":"9632587410"},
{"Name":"Rakesh","Address":"Goa","Contact":"852397410"}
];
}
Pipe.ts
@Pipe({
name: 'searchPipe'
})
export class searchPipe implements PipeTransform {
transform(value: any, args: string[]): any {
let filter = args[0];
if (filter && Array.isArray(value)) {
let filterKeys = Object.keys(filter);
return value.filter(item =>
filterKeys.reduce((key, keyName) =>
key && item[keyName].toUpperCase() === filter[keyName].toUpperCase(), true));
} else {
return value;
}
}
}
component.html
<input type="text" #searchFilter (keyup)="0"/>
<table>
<tr>
<th *ngFor="let colValues of tableData | columnPipe">{{colValues}}</th>
</tr>
<tr *ngFor="let row of tableData">
<td *ngFor="let rowValues of row | rowPipe |searchPipe:searchFilter.value">{{rowValues}}</td>
</tr>
</table>
полный рабочий Plunker, помочь мне в решении вопросов
вы меняете HTML с помощью фильтрации по столбцам, но не удаляя нежелательные свойства из вашего объекта JSON, поэтому его листинг в неправильном порядке. – Fals
@Fals Я не могу получить вас, нежелательные свойства в моем JSON? вы можете сделать это ясно, пожалуйста, –
есть ли кто-нибудь может помочь мне в этом –