在angular 2中使用angular材质将行从一个表转移到另一个表

在angular 2中使用angular材质将行从一个表转移到另一个表,angular,typescript,angular-material,Angular,Typescript,Angular Material,我已经在angular 2中使用angular material实现了简单的表格…我使用了两个mat表格,其中第一个表格中的选定行在单击Move to table 2时传输到第二个表格,反之亦然,单击Move to table 1时传输到第二个表格 但是,当我选择并单击Move To Table 2时,第一个表中的行将被拼接和传输,而第二个表中的行也是如此,我将在第二个表中再次获得先前传输的行 下面显示的是我的输出。 最初,当我传输第一行时,它被拼接并移动到第二个表中。 但当我传输第二行时,

我已经在angular 2中使用angular material实现了简单的表格…我使用了两个mat表格,其中第一个表格中的选定行在单击Move to table 2时传输到第二个表格,反之亦然,单击Move to table 1时传输到第二个表格

但是,当我选择并单击Move To Table 2时,第一个表中的行将被拼接和传输,而第二个表中的行也是如此,我将在第二个表中再次获得先前传输的行

下面显示的是我的输出。 最初,当我传输第一行时,它被拼接并移动到第二个表中。

但当我传输第二行时,先前移动的行再次添加到第二个表中。
这是因为您没有清除所选内容

从一个表到另一个表的传输完成后,您只需清除所选内容

添加
this.selection.clear()
这在
moveToTableTwo()
的末尾,如:

moveToTableTwo(){
   ...
   this.selection.clear();
}

清除选择不允许我将选中的项目移回表1。相反,这对我起了作用:

moveToTableTwo(){
   ...
   this.selection.deselect;
}


是,它现在正在工作,但表2中的行已移动到表1。此解决方案已停止将以前选定的项跨行移动。但是,在进一步检查后,如果单击按钮,则可以在不检查任何内容的情况下再次复制相同的项目。