我使用带有一些数据行的角形材料制作了一个样本数据表。我还添加了一个空数据表,用于将行从第一个表转移到空表。
我能够将行从第一个表正确地移动到第二个表中。但是当我执行selectAll动作时,没有选择行。
但是,当我尝试一次选择一行并单击移到第一个表按钮时,该行将被删除,而不是转移到第一个表。
请访问我的sample app here
答案 0 :(得分:0)
您不需要以下代码,它将从您的第一个集合中删除记录。
this.uncheckedData.splice(index, 1);
如果以后不想知道所选的行,我建议设置一个IsSelected属性
this.selection.selected.forEach(item => {
let index: number = this.uncheckedData.findIndex(d => d === item);
if(index){
this.uncheckedData[index].IsSelected= true;
this.checkedData.push(this.uncheckedData[index]);
// this.uncheckedData.splice(index, 1);
}
});
答案 1 :(得分:0)
我只是想为checkedDatasource做选择...
使用此代码替换“所有行选择”。
/** Selects all rows if they are not all selected; otherwise clear selection. */
masterToggle() {
this.isAllSelected() ?
this.selection.clear() :
this.dataSource.data.forEach(row => this.selection.select(row));
console.log(this.data);
}
masterCheckedToggle() {
this.isAllCheckedSelected()?
this.checkedSelection.clear() :
this.checkedDataSource.data.forEach(row => this.checkedSelection.select(row));
}