angular2materialtable刷新

angular 2 material table refresh

我的情况: 我有一个下拉菜单和下拉菜单下方的 table。为了便于理解,假设下拉列表是城市,下面的 table 显示了包含详细信息的城市列表。当用户在下拉列表中选择一个城市时,该城市的行必须成为 table 中的第一行。我知道如何更改基础数据 structure/array 以查找和插入替换数组中的第一项。完成后我到底如何让 table 刷新以便它现在显示该行在顶部?使用基本示例,当单击此 stackblitz 上的某个按钮时,如何让第 5 行 Boron 显示在第一行。 https://stackblitz.com/angular/epkqlvvjdqn?file=app%2Ftable-basic-example.ts

您可以使用解构来交换数组项,如下所示:

dataSource = new MatTableDataSource();
  ngOnInit(){
    this.dataSource.data = ELEMENT_DATA;
  }
  changeData(){
    let data = this.dataSource.data;

    [data[0],data[4]] = [data[4],data[0]];

    this.dataSource.data = data;    
  }

此处的工作演示:https://stackblitz.com/edit/angular-exkuqd