[英]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.