Vue之vue-tree-color組件實(shí)現(xiàn)組織架構(gòu)圖案例詳解
npm
# use npm npm install vue-tree-color
安裝loader
npm install --save-dev less less-loader
Import Plugins
import Vue from 'vue' import Vue2OrgTree from 'vue-tree-color' Vue.use(Vue2OrgTree)
開(kāi)始
因?yàn)橐呀?jīng)安裝過(guò)了組件,所以可以直接使用,在vue頁(yè)面中,直接使用組件標(biāo)簽,動(dòng)態(tài)綁定data數(shù)據(jù)(data數(shù)據(jù)為遞歸數(shù)據(jù)即可)
<vue2-org-tree :data="data"/>
data數(shù)據(jù)放入頁(yè)面中
其中,data數(shù)據(jù)中,id 每個(gè)元素不同的ID ,label為name, children為自己的子集數(shù)據(jù)
排列方式
剛才我們看到是默認(rèn)排列方式,其實(shí)還有一種水平排列方式
# 只需要加上 horizontal 即可 <vue2-org-tree :data="data" :horizontal="true" />
效果如下
折疊展示
添加一個(gè)屬性 collapsable
<vue2-org-tree :data="data" :horizontal="true" collapsable />
怎么展開(kāi)呢,需要加一個(gè)組件自帶方法
on-expand
<vue2-org-tree :data="data" :horizontal="true" collapsable @on-expand="onExpand" />
js部分
methods: { collapse(list) { var _this = this list.forEach(function(child) { if (child.expand) { child.expand = false } child.children && _this.collapse(child.children) }) }, onExpand(e, data) { if ('expand' in data) { data.expand = !data.expand if (!data.expand && data.children) { this.collapse(data.children) } } else { this.$set(data, 'expand', true) } } }
效果如下
點(diǎn)擊節(jié)點(diǎn)
添加一個(gè)方法 on-node-click
<vue2-org-tree :data="data" :horizontal="true" collapsable @on-expand="onExpand" @on-node-click="onNodeHandle" />
js
onNodeHandle(e, data) { // e是節(jié)點(diǎn)數(shù)據(jù) console.log(e) // data是渲染在節(jié)點(diǎn)上的數(shù)據(jù) console.log(data) },
打印結(jié)果
其他功能
組件還提供了其他功能,大概比較常用的還有,設(shè)置 節(jié)點(diǎn) 顏色 ,移入移出功能,等等,我把github地址粘貼進(jìn)來(lái),有興趣的可以自己了解
點(diǎn)擊下方鏈基即可查看組件更多功能
https://github.com/hukaibaihu/vue-org-tree#readme
到此這篇關(guān)于Vue之vue-tree-color組件實(shí)現(xiàn)組織架構(gòu)圖案例詳解的文章就介紹到這了,更多相關(guān)Vue之vue-tree-color組件實(shí)現(xiàn)組織架構(gòu)圖內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
關(guān)于對(duì)async?await效率問(wèn)題的深入思考
這篇文章主要給大家介紹了關(guān)于對(duì)async?await效率問(wèn)題的深入思考,async和await要搭配Promise使用,它進(jìn)一步極大的改進(jìn)了Promise的寫法,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-01-01JavaScript仿小米商城官網(wǎng)完整頁(yè)面實(shí)現(xiàn)流程
只能看不能玩的靜態(tài)頁(yè)面早就看夠了吧,今天我們來(lái)做一個(gè)相對(duì)完整的動(dòng)態(tài)網(wǎng)站,用Javascript來(lái)實(shí)現(xiàn)模仿小米的官網(wǎng)商城,感興趣的朋友快來(lái)看看吧2021-11-11js函數(shù)名與form表單元素同名沖突的問(wèn)題
本篇文章主要是對(duì)js函數(shù)名與form表單元素同名沖突的問(wèn)題進(jìn)行了詳細(xì)的介紹,需要的朋友可以過(guò)來(lái)參考下,希望對(duì)大家有所幫助2014-03-03IE6、IE7中setAttribute不支持class/for/rowspan/colspan等屬性
IE6、IE7中setAttribute不支持class/for/rowspan/colspan等屬性的說(shuō)明,需要的朋友可以參考下。2011-08-08js實(shí)現(xiàn)商品拋物線加入購(gòu)物車特效
這篇文章主要為大家詳細(xì)介紹了js實(shí)現(xiàn)商品拋物線加入購(gòu)物車特效的相關(guān)資料,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-04-04微信小程序用swiper實(shí)現(xiàn)滑動(dòng)刻度尺
這篇文章主要為大家詳細(xì)介紹了微信小程序用swiper實(shí)現(xiàn)滑動(dòng)刻度尺,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-06-06微信小程序如何保證每個(gè)頁(yè)面都已經(jīng)登陸詳解
前段時(shí)間發(fā)布了一個(gè)微信小程序的簡(jiǎn)單登錄,但遇到一個(gè)問(wèn)題,怎么確保用戶每個(gè)頁(yè)面都已經(jīng)登陸了呢,這篇文章主要給大家介紹了關(guān)于微信小程序如何保證每個(gè)頁(yè)面都已經(jīng)登陸的相關(guān)資料,需要的朋友可以參考下2021-11-11