vue-treeselect及el-tree點擊節(jié)點獲取上級節(jié)點的數(shù)據(jù)方式
vue-treeselect及el-tree點擊節(jié)點獲取上級節(jié)點的數(shù)據(jù)
el-tree,單擊和右擊都有一個參數(shù),即節(jié)點對應(yīng)的Node

打印這個Node,如下:
@node-contextmenu="rightClick"
// 節(jié)點右擊事件 */
rightClick(MouseEvent, object, Node, element) {
console.log(Node, "Node");
},
展開parent

這個parent就是父節(jié)點,父節(jié)點中還包含了它自己的父節(jié)點,如果無父節(jié)點,返回null
el-tree獲取父節(jié)點還是挺簡單的,樹組件內(nèi)部已經(jīng)返給你了,直接獲取就行
vue-treeselect獲取父節(jié)點
文檔中未找到直接獲取的方法,我這里說一下自己實現(xiàn)的方式
@select="(node) => treeHandleSelect(node)"
treeHandleSelect(node, e) {
// 獲取節(jié)點上一節(jié)點
//this.expendTree樹數(shù)據(jù)源,node.pid當前節(jié)點的父id,this.dealPartytree處理數(shù)據(jù)的方法
const obj = this.dealPartytree(this.expendTree, node.pid);
//obj就是處理完后返的父節(jié)點,然后直接拿自己需要的東西即可
this.partymember.branch = obj.name;
this.partymember.branchId = obj.id;
},把樹數(shù)據(jù)源,節(jié)點的父id傳進來
// 獲取節(jié)點上一節(jié)點
dealPartytree(arr, id) {
let obj = {};
const dep = (data, nodeId) => {
//循環(huán)樹數(shù)據(jù)源,用當前項的id和父id對比,相同就賦值,不相同就遞歸,相當于遍歷了整棵樹
for (let v = 0; v < data.length; v++) {
if (data[v].id === nodeId) {
obj = data[v];
} else if (data[v].children) {
dep(data[v].children, nodeId);
}
}
return obj;
};
obj = dep(arr, id);
return obj;
},//用當前項的id和父id對比是因為,當前項的父id即父節(jié)點的id,通過父節(jié)點的id進行關(guān)聯(lián)

vue-treeselect無法點擊問題(點擊無法出現(xiàn)拉下菜單)
問題原因
樣式?jīng)_突(使用了elementui)
場景
在el-form標簽中,如果使用了標簽,并且父標簽不是的話,就會出現(xiàn)無法點擊的問題。(沒有嚴格按elementui的標簽嵌套)
可正常點擊:
<el-row> ? ?<el-col :span="24" ?v-if="form.parentId !== 0"> ? ? ?<el-form-item ? label="上級字典" prop="parentId"> ? ? ? ?<treeselect v-model="parentId" :options="dictOptions" ?/> ? ? ?</el-form-item> ? ?</el-col> ?</el-row>
不能正常點擊:
<el-col :span="24" > ? <el-form-item ? label="上級字典" prop="parentId"> ? ? <treeselect v-model="parentId" :options="dictOptions" ?/> ? </el-form-item> </el-col>
其他場景下,應(yīng)該也是樣式?jīng)_突的問題。
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
vue-cli 2.*中導(dǎo)入公共less文件的方法步驟
這篇文章主要介紹了vue-cli 2.*中導(dǎo)入公共less文件的方法步驟,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-11-11
Vue 頁面跳轉(zhuǎn)不用router-link的實現(xiàn)代碼
這篇文章主要介紹了 Vue 頁面跳轉(zhuǎn)不用router-link的實現(xiàn)代碼,文中給大家介紹了vue router-link跳轉(zhuǎn)傳值示例,需要的朋友可以參考下2018-04-04
Vue3的setup在el-tab中動態(tài)加載組件的方法
公司某項目需求在頁面顯示的組件是根據(jù)角色變化而變化的,怎么實現(xiàn)這個效果呢,下面小編給大家介紹下Vue3的setup在el-tab中動態(tài)加載組件的方法,需要的朋友可以參考下2022-11-11
使用vue.js2.0 + ElementUI開發(fā)后臺管理系統(tǒng)詳細教程(二)
這篇文章主要介紹了使用vue.js2.0 + ElementUI開發(fā)后臺管理系統(tǒng)詳細教程(二),非常不錯,具有參考借鑒價值,需要的朋友參考下吧2017-01-01

