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;
    }

相关内容

热门资讯

黑科技开挂!2278(开挂),... 黑科技开挂!2278(开挂),爱玩联盟其实是有透视挂工具(真的有辅助挂)1、爱玩联盟模拟器是什么优化...
黑科技外挂!微乐捉鸡麻将(外挂... 黑科技外挂!微乐捉鸡麻将(外挂),丫丫衡阳字牌总是有透视挂工具(有辅助挂教程)1、实时丫丫衡阳字牌透...
黑科技外挂!樱花之盛(外挂),... 黑科技外挂!樱花之盛(外挂),宁波游戏大厅原来是有透视挂脚本(有辅助挂教学)1)宁波游戏大厅免费钻石...
黑科技辅助!巴西(辅助),宝剑... 黑科技辅助!巴西(辅助),宝剑联盟原来存在有透视挂插件(竟然有辅助挂)1、黑科技辅助!巴西(辅助),...
黑科技开挂!翻三皮(开挂),星... 黑科技开挂!翻三皮(开挂),星星娱乐原来是有透视挂app(真的有辅助挂)1、游戏颠覆性的策略玩法,独...
黑科技透视器!天使大厅(透视器... 黑科技透视器!天使大厅(透视器),休闲娱乐果然真的是有透视挂方法(有辅助挂方针)1、打开软件启动之后...
黑科技辅助!人海大厅(辅助),... 黑科技辅助!人海大厅(辅助),一起斗地主竟然存在有透视挂教程(有辅助挂教学)1、玩家可以在一起斗地主...
黑科技透视器!科乐填大坑(透视... 黑科技透视器!科乐填大坑(透视器),金杯竞技切实是有透视挂软件(有辅助挂头条)1、进入到科乐填大坑是...
黑科技外挂!愉悦(外挂),新二... 黑科技外挂!愉悦(外挂),新二号原来真的有透视挂app(竟然有辅助挂)1、许多玩家不知道新二号辅助怎...
黑科技透视器!达人圈(透视器)... 黑科技透视器!达人圈(透视器),亿彩好像存在有透视挂方法(有辅助挂方式)1、该软件可以轻松地帮助玩家...