Make Filter работает правильно со свойством Array Object в таблице данных углового материала - PullRequest
0 голосов
/ 28 января 2019

У меня есть таблица данных Angular Material, которая реализована так, как описано в документации Angular Material:

https://material.angular.io/components/table/overview#filtering

Моя проблема связана с источником данных, яиметь эту модель данных:

export interface CustomerHistory {
  entity_id: number;
  email: string;
  name: string;
  lastname: string;
  cpfcnpj: string;
  cpfcnpj2: string;
  rg: string;
  phone1: string;
  phone2: string;
  country: string;
  state: string;
  city: string;
  address: string;
  FullAddress: string;
  cep: string;
  orders: CustomerOrders[];
}

Последнее свойство - массив заказов, из-за которого фильтр не работает должным образом, как и другие поля

Это моя функция фильтра:

applyFilter(filterValue: string) {
filterValue = filterValue.trim(); // Remove whitespace
filterValue = filterValue.toLowerCase(); // MatTableDataSource defaults to lowercase matches
this.dataSource.filter = filterValue;
}

Мой вопрос: как я могу выполнить поиск в свойстве Array Object в моем источнике данных?

1 Ответ

0 голосов
/ 29 января 2019

Во-первых, когда вы рисуете таблицу, убедитесь, что создали цикл вроде

    this.dataSource.data.orders.forEach(element => {
    element.toString();
//turn CustomerOrders[] to string
});

После этого applyFilter () должен работать

`applyFilter(filterValue: string) {
this.dataSource.filter = filterValue.trim().toLowerCase();
}`
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...