element tree樹(shù)形組件回顯數(shù)據(jù)問(wèn)題解決
解決vue+element tree組件 回顯數(shù)據(jù)時(shí)有一個(gè)父節(jié)點(diǎn)數(shù)據(jù)下面子節(jié)點(diǎn)就都會(huì)被選中
1.當(dāng)el-tree 從后臺(tái)拿到數(shù)據(jù)動(dòng)態(tài)回顯展示出來(lái)時(shí),只要有一個(gè)父節(jié)點(diǎn),則下面的所有子節(jié)點(diǎn)全部被勾選了
如圖所示:
后臺(tái)返回的回顯數(shù)據(jù)只有33(父節(jié)點(diǎn)組織管理)45(子節(jié)點(diǎn)個(gè)人管理),但是組織管理下的所有子節(jié)點(diǎn)都被回顯選中。
2.解決方法代碼如下
先在組件上綁定check-strictly屬性
check-strictly屬性控制是否嚴(yán)格的遵循父子不互相關(guān)聯(lián)的做法,默認(rèn)為 false
具體參考element官網(wǎng)api。
代碼如下(示例):
<el-tree :data="menuList" :props="menuListTreeProps" node-key="menuId" ref="menuListTree" :check-strictly="isCheck" show-checkbox> </el-tree> export default { data () { isCheck: false, } } //js操作 //首先先拿到后臺(tái)返回需要回顯的id數(shù)組 假如是showData數(shù)組 //第一步先設(shè)置 check-strictly綁定的屬性為true 為了是解除父子節(jié)點(diǎn)的關(guān)聯(lián)(意思就是點(diǎn)擊勾選父節(jié)點(diǎn)的時(shí)候下邊的所有子節(jié)點(diǎn)都不會(huì)選中。) //第二步設(shè)置回顯 使用element Api的setCheckedKeys(showData)方法進(jìn)行設(shè)置 //最后回顯成功之后通過(guò)$nextTick異步方法再把check-strictly綁定的屬性值設(shè)置為false。(一定要有這步操作,不設(shè)置的話,勾選父節(jié)點(diǎn)子節(jié)點(diǎn)不會(huì)被勾選中) //具體代碼如下 : this.isCheck= true //重點(diǎn):回顯之前一定要設(shè)置為true this.$nextTick(()=>{ this.$refs.menuListTree.setCheckedKeys(這里寫(xiě)接口獲取的數(shù)據(jù)) //給樹(shù)節(jié)點(diǎn)賦值回顯 this.isCheck= false //重點(diǎn): 賦值完成后 設(shè)置為false })
這樣問(wèn)題就解決了。
總結(jié)
總而言之需要多了解element提供的api方法以及屬性的作用,到此這篇關(guān)于element tree樹(shù)形組件回顯數(shù)據(jù)問(wèn)題解決的文章就介紹到這了,更多相關(guān)element tree樹(shù)形組件回顯內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Vue3 + TypeScript 開(kāi)發(fā)總結(jié)
本文直接上 Vue3 + TypeScript + Element Plus 開(kāi)發(fā)的內(nèi)容,感興趣的話一起來(lái)看看吧2021-08-08Vue3中使用vuedraggable拖拽實(shí)戰(zhàn)教程
這篇文章主要介紹了Vue3中使用vuedraggable拖拽實(shí)戰(zhàn)教程,文中通過(guò)示例介紹了vue3拖拽組件vuedraggable的使用demo,需要的朋友可以參考下2023-06-06如何在Vue單頁(yè)面中進(jìn)行業(yè)務(wù)數(shù)據(jù)的上報(bào)
為什么要在標(biāo)題里加上一個(gè)業(yè)務(wù)數(shù)據(jù)的上報(bào)呢,因?yàn)樵谠蹅兦岸隧?xiàng)目中,可上報(bào)的數(shù)據(jù)維度太多,比如還有性能數(shù)據(jù)、頁(yè)面錯(cuò)誤數(shù)據(jù)、console捕獲等。這里我們只講解業(yè)務(wù)數(shù)據(jù)的埋點(diǎn)。2021-05-05vue $refs動(dòng)態(tài)拼接獲取值問(wèn)題
這篇文章主要介紹了vue $refs動(dòng)態(tài)拼接獲取值問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-01-01vuejs如何解決瀏覽器切換頁(yè)面后setInterval計(jì)時(shí)器停止執(zhí)行的問(wèn)題
setinterval()是定時(shí)調(diào)用的函數(shù),可按照指定的周期(以毫秒計(jì))來(lái)調(diào)用函數(shù)或計(jì)算表達(dá)式,這篇文章主要給大家介紹了關(guān)于vuejs如何解決瀏覽器切換頁(yè)面后setInterval計(jì)時(shí)器停止執(zhí)行的問(wèn)題,需要的朋友可以參考下2024-01-01手把手帶你使用vue+node作后端連接數(shù)據(jù)庫(kù)
為了快速學(xué)習(xí)nodejs制作后端并和數(shù)據(jù)庫(kù)進(jìn)行交互的方法,所以趕緊寫(xiě)一篇這樣的文章出來(lái),下面這篇文章主要給大家介紹了關(guān)于手把手帶你使用vue+node作后端連接數(shù)據(jù)庫(kù)的相關(guān)資料,需要的朋友可以參考下2023-03-03Vue3+Element?Plus實(shí)現(xiàn)el-table跨行顯示(非腳手架)
這篇文章主要介紹了Vue3+Element Plus實(shí)現(xiàn)el-table跨行顯示(非腳手架),本文通過(guò)示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-09-09解讀element-ui使用el-upload,before-upload函數(shù)不好使的問(wèn)題
這篇文章主要介紹了解讀element-ui使用el-upload,before-upload函數(shù)不好使的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-03-03