У меня есть таблица, созданная из массива в моем .ts. Я использую загрузчик, чтобы иметь возможность сортировать таблицу, когда вы нажимаете на заголовки. Это работает для 2 столбцов, но не для 2 других. Все данные в массиве являются строкой, и все они выглядят одинаково.
HTML
<table id="tableContents" mdbTable class="z-depth-1">
<thead>
<tr>
<th *ngFor="let head of headElements; let i = index" aria-controls="tableContents" scope="col" [mdbTableSort]="filterData" [sortBy]="headElements[i]">{{head}} <mdb-icon fas icon="sort"></mdb-icon></th>
</tr>
</thead>
<tbody>
<tr *ngFor="let fact of filterData; let i = index">
<td>{{ fact.Colour | titlecase }}</td>
<td>{{ fact.Variant }}</td>
<td>{{ fact.LastProcess }}</td>
<td>{{ fact.LastProcessStatus }}</td>
</tr>
</tbody>
.ts :
import { Component } from '@angular/core';
@Component({
selector: 'my-app',
templateUrl: './app.component.html',
styleUrls: [ './app.component.css' ]
})
export class AppComponent {
headElements = ['Colour', 'Variant', 'Process', 'Status'];
filerData: any = [];
filterData = [{
Colour: "Red",
Variant: "Left",
LastProcess: "Run",
LastProcessStatus: "Pass"
},
{
Colour: "Black",
Variant: "Right",
LastProcess: "Walk",
LastProcessStatus: "Fail"
}
]
}
Вот пример проблемы. При нажатии на заголовки сортируются первые два столбца (Colour
& Variant
), но не 3-й и 4-й столбцы.
Почему он это делает? И как мне заставить его отсортировать все столбцы?