[英]Set initial selected rows in Angular Kendo UI grid with rowSelected
我有一个 Kendo UI Grid,您可以通过单击将它们添加到数组的复选框来选择单个行; 但是,我想根据每行的dataItem
是否在名为selectedAccounts
的指定数组中来初始设置选定的行。
我曾尝试使用[rowSelected]="isRowSelected"
,但使用此方法不允许我选中/取消选中选择复选框。
我需要能够最初设置所选条件并根据需要更改选择。 还值得注意的是,当我从selectedAccounts
任何内容开始时,我都没有问题。
这是一个stackblitz供参考。
事实证明,我已经正确设置了所有内容,但是我在打字稿文件中使用isRowSelected
的方式有误。 我原来有:
public isRowSelected = (e: RowArgs) => this.selectedAccounts.indexOf(e.dataItem) >= 0;}
上面的代码将始终返回 false,同时仍然正确显示selectedAccounts
。
进行以下更改后,可以正确读取selectedAccounts
并允许我在更新selectedAccounts
数组时根据需要切换复选框,而不会导致任何其他问题。
public isRowSelected = (e: RowArgs) => {
return this.selectedAccounts.find(f => e.dataItem.accountId === f.accountId) ? true : false;
}
我希望这个答案对其他人有帮助。 我已经更新了stackblitz以反映正确的代码。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.