Angular中的BehaviorSubject在使用mattable排序后不能更新UI
创始人
2024-10-31 02:30:32
0

这个问题通常出现在使用mat table进行排序时,由于不直接与数据源进行排序而是与视图数组进行排序,因此可能导致视图数组和原始数据源不同步。解决此问题的方法是在数据更改时更新BehaviorSubject的值,以便更新视图数组。以下是一个示例:

component.ts:

import { Component, OnInit, ViewChild } from '@angular/core';
import { MatSort } from '@angular/material/sort';
import { MatTableDataSource } from '@angular/material/table';
import { BehaviorSubject } from 'rxjs';

interface Data {
  name: string;
  position: string;
  age: number;
}

@Component({
  selector: 'app-my-component',
  templateUrl: './my-component.component.html',
  styleUrls: ['./my-component.component.css']
})
export class MyComponent implements OnInit {

  dataSource = new MatTableDataSource();
  data$: BehaviorSubject = new BehaviorSubject([]);
  displayedColumns: string[] = ['name', 'position', 'age'];
  @ViewChild(MatSort, { static: true }) sort: MatSort;

  constructor() { }

  ngOnInit(): void {
    this.dataSource.sort = this.sort;
    this.data$.subscribe(data => {
      this.dataSource.data = data;
    })
  }

  loadData() {
    const data = [
      { name: 'John', position: 'Developer', age: 25 },
      { name: 'Alice', position: 'Manager', age: 30 },
      { name: 'Bob', position: 'Designer', age: 35 },
      { name: 'Max', position: 'Developer', age: 27 },
    ];
    this.data$.next(data);
  }
}

component.html:


    
    
    

相关内容

热门资讯

透视练习!newpoker脚本... 透视练习!newpoker脚本(透视)epoker透视(辅助)一贯一直都是有插件(哔哩哔哩)1、任何...
目前!菠萝德普辅助器免费版在哪... 目前!菠萝德普辅助器免费版在哪里(透视)兴动互娱技巧(果然是真的辅助下载)-哔哩哔哩1、下载好兴动互...
经核实!wepoker辅助软件... 经核实!wepoker辅助软件视频(透视)金虎爷有挂吗(其实有辅助插件)-哔哩哔哩1、在wepoke...
透视积累!红龙poker辅助(... 透视积累!红龙poker辅助(透视)pokerrrr2辅助(辅助)果然一直总是有工具(哔哩哔哩);1...
现有关情况通报如下!pokem... 现有关情况通报如下!pokemmo手机脚本辅助器(透视)透视辅助功能插件(好像真的是有辅助工具)-哔...
透视步骤!werplan怎么作... 透视步骤!werplan怎么作必弊(透视)拱趴大菠萝有挂吗(辅助)切实是有方法(哔哩哔哩)1、玩家可...
随着!扑克之星辅助(透视)浙江... 随着!扑克之星辅助(透视)浙江温州游戏辅助器(真是真的是有辅助工具)-哔哩哔哩1、浙江温州游戏辅助器...
透视学习!epoker免费透视... 透视学习!epoker免费透视脚本(透视)werplan免费挂下载(辅助)都是真的是有插件(哔哩哔哩...
据权威媒体报道!we poke... 据权威媒体报道!we poker游戏下(透视)创思维激k看底牌辅助开发商(原来有辅助神器)-哔哩哔哩...
透视演示!德州局透视(透视)i... 透视演示!德州局透视(透视)impoker辅助(辅助)切实一直总是有教程(哔哩哔哩)1、金币登录送、...
Name {{ row.name }} Position {{ row.position }} Age {{ row.age }}