最近開發(fā)后臺管理系統(tǒng)時碰到一個需求,選中子節(jié)點時要把對應的父節(jié)點也傳給后端。如圖,選中了【修改角色】,要把【角色管理】的id也傳給后端。

image.png
但是Tree控件的onCheck方法的第一個參數(shù)checkedKeys只保存了當前選中的id

image.png
仔細看Tree控件在選中時onCheck方法接收兩個參數(shù),第二個參數(shù)打印出來可以發(fā)現(xiàn)有個halfCheckedKeys數(shù)組,里面包含了所有選中節(jié)點的父節(jié)點id,所以做一下組合就得到了想要的數(shù)據(jù)
handleCheckMenu = (checkedKeys, e) => {
const checkedKeysResult = [...checkedKeys, ...e.halfCheckedKeys]
this.setState({
codeList: checkedKeys, //當前選中的節(jié)點
checkedKeysResult //當前選中節(jié)點包括父節(jié)點
})
}
tips: 簡書上交流可能會看不到消息,如有問題,歡迎進群交流50063010