我正在尝试使用角度材质表预选行。 initialSelection
中有SelectionModel
个example。但是没有确切的解释它是如何工作的。是否可以使用此initialSelection来预选某些行?
看起来,initialSelection
需要是作为dataSource
传递给mat-table
的数据数组的子集。它现在正在运作。
Updated官方例子。查看app/table-selection-example.ts
行21 - 25
subSet1 = this.dataSource.data.slice(0,2);
subSet2 = this.dataSource.data.slice(3,5);
preselectExample = this.subSet1.concat(this.subSet2);
selection = new SelectionModel<Element>(true, this.preselectExample);
答案 0 :(得分:1)
因此,在与表进行了长时间的争斗之后,我做了很多选择,比对数组进行切片和切块要好一些。
this.initialSelection = this.data.filter((element,e) => {
return this.savedSelection.some( (val,i) => {
if(element.key === val.key) {
this.data[e]['amount'] = val['amount'];
return true;
}
return;
});
});
this.dataSource.data = this.data;
this.selection = new SelectionModel<any>(true, this.initialSelection);
对于可编辑值还有一个额外的功能,以后会将选定的值分配回表中。
干杯。