我有一个 mat-table,它显示了一列工作。现在,当我创建一个新的工作时,我想要将其显示在第一行而不是最后一行。如果我创建并添加一个新的工作,它会出现在 mat-table 的底部。我该如何实现这个功能?
我希望得到类似于 Stackblitz 的效果,但是我想要将行添加到第一行,而不是底部。
我希望得到类似于 Stackblitz 的效果,但是我想要将行添加到第一行,而不是底部。
<MaterialTable
...
options={
addRowPosition: 'first'
}
...
>
要将元素推到第一行,在数组中有一个叫做unshift()
的方法。
例如:
var a = [1,2,3,4];
如果我想将0
推到a
的第一个位置,我只需使用a.unshift(0)
。
你所需要做的就是用.unshift()
代替.push()
。
我已经fork了stackblitz以帮助你解决问题https://stackblitz.com/edit/angular-axjzov-8zmcnp
.unshift()
我能够在表格顶部插入新行,但是在刷新页面后,插入的行会移动到页面底部...我该如何使行保持在顶部? - Cpt Kitkat如果您在组件中声明了数据源,如下所示:
dataSource = new MatTableDataSource<any>();
this.dataSource.data.unshift(newRowObject);
.unshift(element)
。 - CruelEngine