Столбцы фильтра таблицы данных Angular2

Согласование всей строки может быть выполнено с помощью ^ и $, как указано в предыдущих ответах.

Чтобы сделать регистр нечувствительным к регистру, вы можете реализовать хак, который включает классы символов. лот классов символов.

^[Rr][Ee][Dd] [Oo][Cc][Tt][Oo][Bb][Ee][Rr]$
1
задан Michael B 18 January 2019 в 11:44
поделиться

1 ответ

В качестве решения я приведу лишь один пример, потому что это не сложно, и вы можете найти решение в документах . Просто перенеси эту ситуацию на свою.

Попробуйте использовать подход, аналогичный документам, поэтому разделите отображаемые данные для столбцов, строк и общих данных для таблицы.

const ELEMENT_DATA: PeriodicElement[] = [
    {position: 1, name: 'Hydrogen', weight: 1.0079, symbol: 'H'},
    {position: 2, name: 'Helium', weight: 4.0026, symbol: 'He'},
];
data: PeriodicElement[] = ELEMENT_DATA;

displayedColumns: string[] = ['name', 'weight', 'symbol', 'position'];

columnsToDisplay: string[] = this.displayedColumns.slice(); //returns a copy of displayedColumns

Теперь вы можете использовать их в своем html-файле, как показано ниже:

<table mat-table [dataSource]="data">
    <ng-container [matColumnDef]="column" *ngFor="let column of displayedColumns">
        <th mat-header-cell *matHeaderCellDef> {{column}} </th>
        <td mat-cell *matCellDef="let element"> {{element[column]}} </td>
    </ng-container>

   <tr mat-header-row *matHeaderRowDef="columnsToDisplay"></tr>
   <tr mat-row *matRowDef="let row; columns: columnsToDisplay;"></tr>
</table>

В качестве примера вашего решения я добавлю кнопку в html-файл, чтобы инициировать удаление последнего столбца: (аналогично сортировке в некотором роде)

<button mat-raised-button (click)="removeColumn()"> Remove column </button>

Теперь нам просто нужно удалить последний элемент массива displayedColumns, чтобы удалить последний столбец нашей таблицы.

removeColumn() {
    this.columnsToDisplay.pop(); //removes the last element of the array
}
0
ответ дан L. Guthardt 18 January 2019 в 11:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: