Angular 角度:为什么排序只在第一张垫子上工作?

Angular 角度:为什么排序只在第一张垫子上工作?,angular,sorting,angular-material2,Angular,Sorting,Angular Material2,为什么在这里宣传分拣功能: 添加第二个表以显示数据的后半部分时失败?: 我该如何修复它呢?在您的代码中,您将MatSort的一个实例分配给您的数据源。排序成员将是angular可以在模板中找到的MatSort指令的第一个实例 @ViewChild(MatSort) sort: MatSort; //1st sort directive ngOnInit() { this.dataSource.sort = this.sort; } 由于您在两个表之间共享数据源,因此只使用第一个表 如果要

为什么在这里宣传分拣功能:

添加第二个表以显示数据的后半部分时失败?:


我该如何修复它呢?

在您的代码中,您将MatSort的一个实例分配给您的数据源。排序成员将是angular可以在模板中找到的MatSort指令的第一个实例

@ViewChild(MatSort) sort: MatSort; //1st sort directive

ngOnInit() {
  this.dataSource.sort = this.sort;
}
由于您在两个表之间共享数据源,因此只使用第一个表

如果要执行排序、筛选等操作,则不能在表中共享数据源


解决方案是每个表有一个数据源。

Material为粘贴标题提供了自己的支持,从理论上讲,粘贴标题在发布后可以解决我的问题:

谢谢,这是一个很好的答案,可以解释很多问题……这是我最不想听到的。据我所知,如果将数据源一分为二,那么排序将不再影响两个表。所以你是说,角度和材质想要在功能上超越用户?为什么?为什么我们不能有固定列,它们只允许您通过两个表完成,排序和筛选?现在我必须选择吗?这绝对是最糟糕的。