我有一个席子表,其中显示了作业列表。 现在,当我创建一个新作业时,我想将其显示在第一行而不是最后一行中。如果我创建并添加一个新作业,它将进入垫子表格的底部。 我该如何做到这一点。
我想要与此Stackblitz类似的东西,但不是在底部添加行,而是在第一行添加
答案 0 :(得分:3)
要将元素推到第一行,数组中有一个名为unshift()
的方法。
为此,以一个示例为例:
var a = [1,2,3,4];
如果我想将0
推到a
的第一位置,我只会做a.unshift(0)
您要做的就是代替.push()
,使用.unshift()
我已将stackbltiz分叉,以帮助您解决问题https://stackblitz.com/edit/angular-axjzov-8zmcnp
答案 1 :(得分:2)
在组件中声明数据源,如下所示:
dataSource = new MatTableDataSource<any>();
您可以使用以下方法在表格的顶部添加一行:
this.dataSource.data.unshift(newRowObject);
答案 2 :(得分:0)
如果您想在MaterialTable的顶部添加新行,则可以添加以下选项:
<MaterialTable
...
options={
addRowPosition: 'first'
}
...
>
您只能从第一或最后中进行选择。默认设置为 last 。