【发布时间】:2020-01-03 15:48:34
【问题描述】:
我正在尝试实现一些 Angular 材料排序,但是我收到错误消息,告诉我必须为每个 mat 排序标头提供一个唯一的 ID。
我不太确定这是指什么,我在网上找不到任何关于此的内容。
这是模板 sn-p:
<div class="headers"
matSort
(matSortChange)="sortDocuments($event)">
<span class="col-3">
<label id="file-name-header"
class="header"
[mat-sort-header]="documentsList?.model?.fileParts[0]?.meta?.name">File Name</label>
</span>
<span class="col-2">
<label id="file-type-header"
class="header"
[mat-sort-header]="documentsList?.model?.type">File Type</label>
</span>
<span class="col-3">
<label id="user-header"
class="header"
[mat-sort-header]="documentsList?.model?.user">User</label>
</span>
<span class="col-2">
<label id="file-size-header"
class="header"
[mat-sort-header]="documentsList?.model?.fileParts[0]?.meta?.size">File Size</label>
</span>
<span class="col-1">
<label id="date-header"
class="header"
[mat-sort-header]="documentsList?.model?.fileParts[0]?.createdDate">Created Date</label>
</span>
</div>
MatSortModule 是在模块中导入的,此刻的组件代码基本上很琐碎。
我正在尝试仅记录我从标题中捕获的排序事件:
public sortDocuments(sort: Sort) {
console.log('sort event: %o', sort);
}
奇怪的是,单击可排序的标题会记录以下内容:
sort event: {active: undefined, direction: "asc"},而在过去,active 属性一直是我排序的字段。
【问题讨论】: