簡體   English   中英

使用 rowSelected 在 Angular Kendo UI 網格中設置初始選定行

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM