matSort не сортирует из шапки - PullRequest
0 голосов
/ 17 октября 2018

Привет, у меня проблемы с настройкой matSort для работы с любым из столбцов.

Мне, должно быть, не хватает чего-то маленького, но я не знаю, что это такое.

Вот мой HTML:

    <mat-table [dataSource]="dataSource" matSort class="mat-elevation-z8 mb-4">
      <mat-header-row *matHeaderRowDef="displayedColumns"></mat-header-row>
      <mat-row *matRowDef="let row; columns: displayedColumns;"></mat-row>
      <ng-container matColumnDef="label">
        <mat-header-cell *matHeaderCellDef mat-sort-header> Label </mat-header-cell>
        <mat-cell *matCellDef="let element"> {{element.label}} </mat-cell>
      </ng-container>

      <ng-container matColumnDef="value">
        <mat-header-cell *matHeaderCellDef mat-sort-header> Value </mat-header-cell>
        <mat-cell *matCellDef="let element"> {{element.value}} </mat-cell>
      </ng-container>

      <ng-container matColumnDef="disabled">
        <mat-header-cell *matHeaderCellDef mat-sort-header> Enable / Disable </mat-header-cell>
        <mat-cell *matCellDef="let element"> <button type="button" class="btn btn-primary" (click)="toggleDisable()">Enable</button> </mat-cell>
      </ng-container>
    </mat-table>

Вот мой файл component.ts:

import {Component, OnInit, ViewChild} from '@angular/core';
import { MatSort, MatTableDataSource } from '@angular/material';

interface PeriodicElement {
  label: string;
  value: string;
  disabled: boolean;
}

const ELEMENT_DATA: PeriodicElement[] = [
  { label: 'efg', value: 'efg', disabled: false },
  {label: 'a', value: 'a', disabled: false },
  { label: 'b', value: 'b', disabled: false },
  { label: 'c', value: 'c', disabled: false },
];

@Component({
  templateUrl: './edit-catalog.component.html',
})
export class EditCatalogComponent implements OnInit, OnDestroy {
  displayedColumns: string[] = ['label', 'value', 'disabled'];
  dataSource = new MatTableDataSource(ELEMENT_DATA);
  @ViewChild(MatSort) sort: MatSort;

  constructor() {}

  ngOnInit() {
    this.dataSource.sort = this.sort;
  }

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

Возможно, отсутствует синтаксис в html-файле?

Я также импортировал MatSortModule и MatTableModule в файл modules.ts

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...