Как правильно отфильтровать таблицу материалов, используя Angular, используя флажокJavascript

Форум по Javascript
Ответить Пред. темаСлед. тема
Anonymous
 Как правильно отфильтровать таблицу материалов, используя Angular, используя флажок

Сообщение Anonymous »

У меня есть набор данных, в которых фильтрация на флажке. Однако это работает только один раз. Например. У меня есть 2 различные компании, если я проверяю компанию, она фильтрует и показывает два строки, и я снимаю, она показывает все строки, что хорошо. Но если я проверю это снова, это не фильтруется. Похоже, у меня есть какая -то проблема с управлением состоянием или привязкой данных. Вот мой метод Apply Filter, который показывает мне, пытаясь использовать предикат фильтра, а также пытаться отфильтровать вручную. < /P>

Код: Выделить всё

applyFilter(): void {
console.log('mockData************', this.mockData);
if (!this.mockData || this.mockData.length === 0) {
console.error('No Data to Filter');
return;
}

let filteredData = this.mockData; // Start with the full data

if (this.identifierFilterValue && this.identifierFilterValue.length > 0) {
filteredData = this.filterByIdentityCheckbox(filteredData);
}

console.log('Filtered Data ', filteredData);
if (this.dataSource) {
this.dataSource.data = filteredData;
this.dataSource.paginator = this.paginator; // Assign paginator here
}
if (this.dataSource && this.dataSource.paginator) {
this.dataSource.paginator.firstPage();
}
}

filterByIdentityCheckbox(data: any[]): any[] {
console.log(
'******Applying filter by identifierFilterValue:',
this.identifierFilterValue
);

if (
!this.identifierFilterValue ||
this.identifierFilterValue.length === 0
) {
console.log('No Identifier Filters are selected return full data');
return [...data];
}

return data.filter((item) => {
console.log('Checking item identifier:', item.identifier);

if (this.identifierFilterValue.indexOf(item.identifier) !== -1) {
console.log('Matched identifier:', item.identifier);
return true;
} else {
console.log('Identifier not matched', item.identifier);
return false;
}
});
}
}
У меня есть родительский компонент, компонент фильтра и компонент просмотра.>

Подробнее здесь: https://stackoverflow.com/questions/795 ... g-checkbox
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Javascript»