上面事件通過調用事件 check-change ,每次節點選中狀態發生改變時都會回調,會壹直調用 setCheckedKeys([]) 方法,所以會壹直選中節點,再次點擊不會取消。
將 @check-change 事件改成使用 @check 事件。當第二次點擊節點的時候,判斷 check 事件的第二個屬性 樹目前的選中狀態對象 。
如果 checked.checkedKeys 為空,說明是取消選中,那麽調用 setCheckedKeys([]) 置空就行了。
如果 checked.checkedKeys 不為空,說明是選擇別的節點,那麽保持單選狀態,也是將點擊節點的 id 傳給 setCheckedKeys([]) 方法。