0

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

4

1 回答 1

0

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

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

于 2018-11-19T16:57:36.117 回答