我使用角度材料在角度2中实现了一个简单的表格。
我已实现将所选行功能从第一个表传输到第二个表,并从第二个表中删除所选行。
当我从第一个表中选择行并单击按钮移动到第二个表时,所选行将被传输到第二个表但是没有从第一个表拼接,尽管我已拼接 transferSelectedRows()方法中的选定行。
请访问我的示例应用here ...
答案 0 :(得分:1)
以下是您在组件方面需要进行的更改(请同时阅读评论)
组件方:
uncheckedData = this.data; // to maintain data for table 1
transferSelectedRows() {
this.selection.selected.forEach(item => {
let index: number = this.uncheckedData.findIndex(d => d === item);
this.checkedData.push(this.uncheckedData[index]); // adding to table 2
this.uncheckedData.splice(index,1); // remove data from table 1
});
this.selection = new SelectionModel<Element>(true, []);
this.dataSource = new MatTableDataSource<Element>(this.uncheckedData);
this.checkedDataSource = new MatTableDataSource<Element>(this.checkedData);
this.dataSource.paginator = this.paginator;
this.checkedDataSource.paginator = this.checkedpaginator;
}