Angularmaterial排序表头在更改数据源后无法工作
创始人
2024-10-28 10:01:04
0

在更改数据源后,需要手动重新设置排序表头的数据源。这可以通过以下步骤实现:

  1. 在 HTML 模板中,找到包含排序表头的 mat-table 元素,将其绑定到模板引用变量中:

  2. 在组件类中,使用 ViewChild 装饰器和 @Input() 装饰器声明这个引用变量:

    @ViewChild('table') table: MatTable; @Input() dataSource: MatTableDataSource;

  3. 在更改数据源后,重新设置表头的数据源:

    this.dataSource = new MatTableDataSource(data); this.table.dataSource = this.dataSource;

  4. 现在,表头排序应该正常工作了。

完整的代码示例:

HTML 模板:


  
     Name 
     {{item.name}} 
  
  
     Age 
     {{item.age}} 
  
  
  

组件类:

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

@Component({
  selector: 'app-table',
  templateUrl: './table.component.html',
  styleUrls: ['./table.component.scss']
})
export class TableComponent implements OnInit {
  displayedColumns: string[] = ['name', 'age'];
  dataSource: MatTableDataSource;

  @ViewChild(MatSort, { static: true }) sort: MatSort;
  @ViewChild('table') table: MatTable;
  @Input() data: any[];

  ngOnInit() {
    this.dataSource = new MatTableDataSource(this.data);
    this.dataSource.sort = this.sort;
    this.table.dataSource = this.dataSource;
  }

  ngOnChanges(changes) {
    if (changes.data) {
      this.dataSource = new MatTableDataSource(changes.data.currentValue);
      this.dataSource.sort = this.sort;
      this.table.dataSource = this.dataSource;
    }

相关内容

热门资讯

透视有挂"cloud... 透视有挂"cloudpoker怎么开挂"都是真的有辅助挂(哔哩哔哩)1.cloudpoker怎么开挂...
透视揭露"wepok... 透视揭露"wepoker私人局透视插件"真是真的是有辅助app(哔哩哔哩)1、金币登录送、破产送、升...
透视曝光"红龙pok... 透视曝光"红龙poker有辅助吗"切实是真的辅助脚本(哔哩哔哩)小薇(辅助器软件下载)致您一封信;亲...
透视教你"哈糖大菠萝... 透视教你"哈糖大菠萝攻略"切实有辅助神器(哔哩哔哩)1、哈糖大菠萝攻略有没有辅助教程、哈糖大菠萝攻略...
透视详情"wepok... 透视详情"wepoker私局代打"总是是真的辅助工具(哔哩哔哩)1、wepoker私局代打辅助软件下...
透视分享"wepok... 透视分享"wepoker底牌透视脚本"都是是真的辅助器(哔哩哔哩)wepoker底牌透视脚本能透视中...
透视关于"智星德州有... 您好,智星德州有脚本吗这款游戏可以开挂的,确实是有挂的,需要了解加去威信【485275054】很多玩...
透视必备"hhpok... 透视必备"hhpoker作必弊码怎么用"一直是真的辅助app(哔哩哔哩)1.hhpoker作必弊码怎...
透视科普"wepok... 透视科普"wepoker免费透视脚本"本来是有辅助教程(哔哩哔哩)1、许多玩家不知道wepoker免...
透视教你"wpk辅助... 透视教你"wpk辅助器是真的吗"确实有辅助app(哔哩哔哩)1、操作简单,无需wpk辅助器是真的吗手...