如何在垫子表的顶部插入新行

时间:2019-02-01 06:19:52

标签: javascript angular typescript angular-material

我有一个席子表,其中显示了作业列表。 现在,当我创建一个新作业时,我想将其显示在第一行而不是最后一行中。如果我创建并添加一个新作业,它将进入垫子表格的底部。 我该如何做到这一点。

我想要与此Stackblitz类似的东西,但不是在底部添加行,而是在第一行添加

3 个答案:

答案 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