Я в основном реализую функцию поиска, которая находится за пределами таблицы, и хочу выделить строки, если содержимое поиска соответствует чему-то в строке таблицы. Также на странице есть несколько таблиц.
Вот мой компонент панели.
<app-mystuff-dashboard-panel *ngFor="let group of initialGroupedSearchResults | objectFilter: { MyContentSetScope: 'Private', MyContentSetType : 'System', contentSetName: 'Clipboard' } | orderBy: 'contentSetName'"
[contentSet]="group"
[searchText]="searchText"></app-mystuff-dashboard-panel>
И в этом вышеприведенном компоненте я запускаю ngOnChanges, чтобы получить изменения searchText (это строка)
Я пытался использовать [rowClass]="getRowClass" во входных данных ngx-dtatable, но эта функция не срабатывает всегда, например, как функция ngClass меняется каждый раз, когда что-то меняется.
getRowClass(row) {
return _includes(row.DynamicProperties.myContentItemKey, this.searchText) ? 'yellowbackground' : 'bluebackground';
}
Параметр строки в этой функции в основном не определен. Также у меня есть около 100 строк примерно в 3 таблицах, и эта функция getRowClass срабатывает только около 5 раз для 3 таблиц, объединенных при изменении searchText.
Я попытался заново отобразить таблицу onChange, но это тоже не работает.
if ((changes.searchText && (changes.searchText.currentValue !== changes.searchText.previousValue))) {
console.log(this.searchText);
this.items = this.items.slice();
this.items = [...this.items];
this.items.push({});
this.items.splice(-1, 1);1
this.items = [...this.items];
this.changeDetector.detectChanges();
}
this.rows = this.rows.slice();
. Это установит переменную rows как собственную копию. Так что ngx-datatable может перерендериться. - person Midhun Darvin   schedule 07.08.2018this.items.push({}); this.items = [...this.items]; this.items.splice(-1, 1); this.items = [...this.items];
- person Midhun Darvin   schedule 07.08.2018