成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

一個(gè)基于vue和element-ui的樹(shù)形穿梭框組件

Corwien / 4002人閱讀

摘要:在市面上找到一個(gè)好用的樹(shù)形穿梭框組件都很難,又不想僅僅因?yàn)橐粋€(gè)穿梭框在之外引入其他重量級(jí)插件,因此就有了。版本增加穿梭框左側(cè)右側(cè)數(shù)據(jù)勾選事件,穿梭框左側(cè)右側(cè)底部。

el-tree-transfer 簡(jiǎn)介·請(qǐng)先閱讀文檔及版本說(shuō)明

因?yàn)楣緲I(yè)務(wù)使用vue框架,ui庫(kù)使用的element-ui。在市面上找到一個(gè)好用的vue樹(shù)形穿梭框組件都很難,又不想僅僅因?yàn)橐粋€(gè)穿梭框在element-ui之外引入其他重量級(jí)插件,因此就有了el-tree-transfer。輕量,易用,無(wú)需投入其他學(xué)習(xí)成本。

el-tree-fransfer是一個(gè)基于VUE和element-ui的樹(shù)形穿梭框組件,使用前請(qǐng)確認(rèn)已經(jīng)引入element-ui! 此組件功能類似于element-ui的transfer組件,但是里面的數(shù)據(jù)是樹(shù)形結(jié)構(gòu)! 實(shí)際上,el-tree-transfer依賴的element-ui組件分別是Checkbox 多選框,Button 按鈕,和最主要的Tree 樹(shù)形控件寫(xiě)成!并非是在element-ui的穿梭框組件上的擴(kuò)展,而僅僅是參照了其外觀樣式和功能。ui完全按照element-ui風(fēng)格。
注意:使用此插件時(shí)默認(rèn)你已經(jīng)引入了element-ui的button,check-box,tree組件!

在線訪問(wèn) - GitHub - NPM - SegmentFault - CSDN- 掘金 注意! 2.2.0 版本增加lazy懶加載功能 注意! 2.0.0 版本存在父子不關(guān)聯(lián)錯(cuò)誤,2.1.1 版本增加 arrayToTree 支持,但已經(jīng)是樹(shù)形數(shù)據(jù)的請(qǐng)不要使用此參數(shù) 注意! 1.9.0 版本增強(qiáng)id為數(shù)字型的匹配強(qiáng)度,1.9.7版本增加defaultTransfer屬性用來(lái)滿足用戶不想將數(shù)據(jù)拆分成fromData和toData的需求 注意! 1.8.9 版本修復(fù)一個(gè)節(jié)點(diǎn)既是一側(cè)的枝干節(jié)點(diǎn)又是另一側(cè)的葉子節(jié)點(diǎn)時(shí)穿梭引起的重復(fù)錯(cuò)誤!解決自定義節(jié)點(diǎn)名時(shí)篩選無(wú)效錯(cuò)誤 注意! 1.8.7 版本增加通訊錄模式,可通過(guò) mode 字段配置模式 注意! 1.7.7 版本移動(dòng)事件參數(shù)調(diào)整,直接返回移動(dòng)后的 fromData 數(shù)據(jù)和 toData 數(shù)據(jù)。 注意! 1.5 以上版本改為自動(dòng)處理
第一層數(shù)據(jù)的 pid 請(qǐng)?jiān)O(shè)定為 0??!
id推薦為string,但也可以是number,請(qǐng)不要混用,id不能重復(fù)!
快速上手

先npm下載插件

npm install el-tree-transfer --save

npm i el-tree-transfer -S

然后你可以像使用普通組件一樣使用el-tree-transfer

GitHub demo代碼地址 歡迎star 謝謝

  





文檔

參數(shù):width 說(shuō)明:寬度 類型:String 必填:false 默認(rèn):100% 補(bǔ)充:建議在外部盒子設(shè)定寬度和位置

參數(shù):height 說(shuō)明:高度 類型:String 必填:false 默認(rèn):320px

參數(shù):title 說(shuō)明:標(biāo)題 類型:Array 必填:false 默認(rèn):["源列表", "目標(biāo)列表"]

參數(shù):button_text 說(shuō)明:按鈕名字 類型:Array 必填:false 默認(rèn):

參數(shù):from_data 說(shuō)明:源數(shù)據(jù) 類型:Array 必填:true 補(bǔ)充:數(shù)據(jù)格式同element-ui tree組件,但必須有id和pid

參數(shù):to_data 說(shuō)明:目標(biāo)數(shù)據(jù) 類型:Array 必填:true 補(bǔ)充:數(shù)據(jù)格式同element-ui tree組件,但必須有id和pid

參數(shù):defaultProps 說(shuō)明:配置項(xiàng)-同el-tree中props 必填: false 補(bǔ)充:用法和el-tree的props一樣

參數(shù):node_key 說(shuō)明:自定義node-key的值,默認(rèn)為id 必填:false 補(bǔ)充:必須與treedata數(shù)據(jù)內(nèi)的id參數(shù)名一致,必須唯一

參數(shù):pid 說(shuō)明:自定義pid的參數(shù)名,默認(rèn)為"pid" 必填:false 補(bǔ)充:有網(wǎng)友提出后臺(tái)給的字段名不叫pid,因此增加自定義支持

參數(shù):leafOnly 說(shuō)明:是否只返回葉子節(jié)點(diǎn) 類型:Boolean 必填:false 補(bǔ)充:默認(rèn)false,如果你只需要返回的末端子節(jié)點(diǎn)可使用此參數(shù)

參數(shù):filter 說(shuō)明:是否開(kāi)啟篩選功能 類型:Boolean 必填:false

參數(shù):openAll 說(shuō)明:是否默認(rèn)展開(kāi)全部 類型:Boolean 必填:false

參數(shù):renderContent 說(shuō)明:自定義樹(shù)節(jié)點(diǎn) 類型:Function 必填:false 補(bǔ)充:用法同element-ui tree

參數(shù):mode 說(shuō)明:設(shè)置模式,字段可選值為transfer|addressList 類型:String 必填:false 補(bǔ)充:mode默認(rèn)為transfer模式,即樹(shù)形穿梭框模式,可配置字段為addressList改為通訊錄模式,通訊錄模式時(shí)按鈕不可自定義名字,如要自定義標(biāo)題名在title數(shù)組傳入四個(gè)值即可,addressList模式時(shí)標(biāo)題默認(rèn)為通訊錄、收件人、抄送人、密送人

參數(shù):transferOpenNode 說(shuō)明:穿梭后是否展開(kāi)穿梭的節(jié)點(diǎn) 類型:Boolean 必填:false 補(bǔ)充:默認(rèn)為true即展開(kāi)穿梭的節(jié)點(diǎn),便于視覺(jué)查看,增加此參數(shù)是因?yàn)閿?shù)據(jù)量大時(shí)展開(kāi)會(huì)有明顯卡頓問(wèn)題,但注意,如此參數(shù)設(shè)置為false則穿梭后不展開(kāi),畢竟無(wú)法確定第幾層就會(huì)有龐大數(shù)據(jù)

參數(shù):defaultCheckedKeys 說(shuō)明:默認(rèn)展開(kāi)節(jié)點(diǎn) 類型:Array 必填:false 補(bǔ)充:只匹配初始時(shí)默認(rèn)節(jié)點(diǎn),不會(huì)在你操作后動(dòng)態(tài)改變默認(rèn)節(jié)點(diǎn)

參數(shù):placeholder 說(shuō)明:設(shè)置搜索框提示語(yǔ) 類型:String 必填:false 補(bǔ)充:默認(rèn)為請(qǐng)輸入關(guān)鍵詞進(jìn)行篩選

參數(shù):defaultTransfer 說(shuō)明:是否自動(dòng)穿梭一次默認(rèn)選中defaultCheckedKeys的節(jié)點(diǎn) 類型:Boolean 必填:false 補(bǔ)充:默認(rèn)false,用來(lái)滿足用戶不想將數(shù)據(jù)拆分成fromData和toData的需求

參數(shù):arrayToTree 說(shuō)明:是否開(kāi)啟一維數(shù)組轉(zhuǎn)化為樹(shù)形結(jié)構(gòu) 類型:Boolean 必填:false 補(bǔ)充:數(shù)據(jù)必須存在根節(jié)點(diǎn),并且不會(huì)斷節(jié),數(shù)據(jù)格式詳見(jiàn)github上app.vue,根據(jù)id、pid對(duì)應(yīng)關(guān)系轉(zhuǎn)化,存在一定的性能問(wèn)題

參數(shù):addressOptions 說(shuō)明:通訊錄模式配置項(xiàng){num: Number, suffix: String, connector: String} 類型:Object 必填:false 補(bǔ)充:num-> 所需右側(cè)通訊錄個(gè)數(shù),默認(rèn)3 suffix-> label后想要拼接的字段(如id,即取此條數(shù)據(jù)的id拼接在后方)默認(rèn)suffix connector -> 連接符(字符串)默認(rèn)-

參數(shù):lazy 說(shuō)明:是否啟用懶加載 類型:Boolean 必填:false 補(bǔ)充:默認(rèn)false,效果動(dòng)el-tree懶加載,不可和openAll或默認(rèn)展開(kāi)同時(shí)使用

參數(shù):lazyFn 說(shuō)明:懶加載的回調(diào)函數(shù) 類型:Function 必填:true 補(bǔ)充:當(dāng)適用lazy時(shí)必須傳入回調(diào)函數(shù),示例:lazyFn="loadNode",返回參數(shù)loadNode(node, resolve, from), node->當(dāng)前展開(kāi)節(jié)點(diǎn)node,resolve->懶加載resolve,from -> left|right 表示回調(diào)來(lái)自左側(cè)|右側(cè)

事件:addBtn 說(shuō)明:點(diǎn)擊添加按鈕時(shí)觸發(fā)的事件 回調(diào)參數(shù):function(fromData,toData,obj),樹(shù)形穿梭框transfer模式分別為1.移動(dòng)后左側(cè)數(shù)據(jù),2.移動(dòng)后右側(cè)數(shù)據(jù),3.移動(dòng)的節(jié)點(diǎn)keys、nodes、halfKeys、halfNodes對(duì)象;通訊錄addressList模式時(shí)返回參數(shù)為右側(cè)收件人列表、右側(cè)抄送人列表、右側(cè)密送人列表

事件:removeBtn 說(shuō)明:點(diǎn)擊移除按鈕時(shí)觸發(fā)的事件 回調(diào)參數(shù):function(fromData,toData,obj),樹(shù)形穿梭框transfer模式分別為1.移動(dòng)后左側(cè)數(shù)據(jù),2.移動(dòng)后右側(cè)數(shù)據(jù),3.移動(dòng)的節(jié)點(diǎn)keys、nodes、halfKeys、halfNodes對(duì)象;通訊錄addressList模式時(shí)返回參數(shù)為右側(cè)收件人列表、右側(cè)抄送人列表、右側(cè)密送人列表

事件:left-check-change 說(shuō)明:左側(cè)源數(shù)據(jù)勾選事件 回調(diào)參數(shù):function(nodeObj, treeObj)見(jiàn)el-tree組件check事件返回值

事件:right-check-change 說(shuō)明:右側(cè)目標(biāo)數(shù)據(jù)勾選事件 回調(diào)參數(shù):function(nodeObj, treeObj)見(jiàn)el-tree組件check事件返回值

Slot:left-footer, right-footer 說(shuō)明:穿梭框左側(cè)、右側(cè)底部slot

Slot: title-left, title-right 說(shuō)明:穿梭框標(biāo)題區(qū)左側(cè)、右側(cè)自定義內(nèi)容

版本說(shuō)明
2.2.0 增加lazy懶加載功能(非通訊錄模式),具體參數(shù)說(shuō)明見(jiàn)參數(shù)21, 參數(shù)22

2.1.2 增加通訊錄模式的可配置項(xiàng),但作為非主要維護(hù)模式靈活度仍較低,具體參數(shù)說(shuō)明見(jiàn)參數(shù)20

2.1.1 修復(fù) array 數(shù)組模式選擇根節(jié)點(diǎn)穿梭錯(cuò)誤,廢棄leafOnly參數(shù),注意已經(jīng)是樹(shù)結(jié)構(gòu)的不要使用 arrayToTree 參數(shù)

2.1.0 增加 arrayTotree 參數(shù),處理一維數(shù)組自動(dòng)轉(zhuǎn)化為所需樹(shù)結(jié)構(gòu)(詳見(jiàn)參數(shù) 19,或github-app.vue);修復(fù)穿梭后半選節(jié)點(diǎn)殘留的問(wèn)題;去除部分不必要變量

2.0.2 增加標(biāo)題頭部 slot 自定義內(nèi)容區(qū)

2.0.1 修復(fù)父子不關(guān)聯(lián)問(wèn)題。

2.0.0 版本增加穿梭框左側(cè)、右側(cè)數(shù)據(jù)勾選事件,穿梭框左側(cè)、右側(cè)底部 slot。

1.9.8 版本修復(fù)自定義按鈕button_text的報(bào)錯(cuò)。

1.9.7 版本增加defaultTransfer屬性用來(lái)滿足用戶不想將數(shù)據(jù)拆分成fromData和toData的需求,增加placeholder屬性。

1.9.0 增強(qiáng) id 既有數(shù)字又有字符型時(shí)的正則匹配強(qiáng)度。

1.8.9 版本修復(fù)一個(gè)節(jié)點(diǎn)既是一側(cè)的枝干節(jié)點(diǎn)又是另一側(cè)的葉子節(jié)點(diǎn)時(shí)穿梭引起的重復(fù)錯(cuò)誤!解決自定義節(jié)點(diǎn)名時(shí)篩選無(wú)效錯(cuò)誤。

1.8.8 版本增加transferOpenNode參數(shù)用來(lái)管理穿梭后是否展開(kāi)節(jié)點(diǎn),defaultCheckedKeys用來(lái)設(shè)置初始時(shí)默認(rèn)展開(kāi)節(jié)點(diǎn)。

1.8.7 版本增加通訊錄模式,可通過(guò) mode 字段配置模式,mode 字段可選值為transfer|addressList。

1.7.7 版本 addBtnremoveBtn 事件參數(shù)調(diào)整,返回三個(gè)參數(shù),第一個(gè)參數(shù)是移動(dòng)后的fromData數(shù)據(jù),第二個(gè)參數(shù)是移動(dòng)后的toData數(shù)據(jù),第三個(gè)參數(shù)是{keys, nodes, harfKeys, harfNodes}對(duì)象。增加 renderContent 參數(shù)支持樹(shù)節(jié)點(diǎn)自定義。

1.6.7 版本增加filter,openAll參數(shù),來(lái)設(shè)置是否開(kāi)啟篩選和是否默認(rèn)展開(kāi)全部

1.5.9版本增加leafOnly參數(shù),來(lái)設(shè)置是否只返回樹(shù)的末端葉子節(jié)點(diǎn)

1.5.8版本恢復(fù)上個(gè)版本莫名刪掉的返回 nodes 的代碼,如果您的項(xiàng)目只需要穿梭的node-key值則無(wú)需更新!道歉ing。。。

1.5.7版本修復(fù)子組件異步數(shù)據(jù)有時(shí)不會(huì)更新的問(wèn)題!修復(fù)了自定義參數(shù)名node_key,children時(shí)的一個(gè)錯(cuò)誤,自動(dòng)把第一層數(shù)據(jù)的pid替換為0

1.4.9版本增加了添加和移除按鈕的回調(diào)參數(shù),function(keys,nodes)第一個(gè)參數(shù)為選中節(jié)點(diǎn)node-key值,第二個(gè)參數(shù)為選中節(jié)點(diǎn)node

1.4.8 版本修復(fù)了id為number類型時(shí)無(wú)法通過(guò)重復(fù)校驗(yàn)函數(shù)的問(wèn)題,但仍然推薦id使用string型

1.4.7 版本增加了defaultProps參數(shù),node_key參數(shù),pid參數(shù),主要作用為可以自定義一些重要字段名,來(lái)提高數(shù)據(jù)靈活性,避免和后臺(tái)因?yàn)樽侄蚊煌患捞?/p>

1.3.7 版本取消了對(duì)loadsh庫(kù)的依賴,此前僅用此庫(kù)做某些深拷貝處理

很多有脾氣的老哥找我給打賞,謝過(guò),git上有收錢碼~~~

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/95996.html

相關(guān)文章

  • 修改element-ui源碼解決穿梭選擇后顯示順序問(wèn)題

    摘要:?jiǎn)栴}描述的穿梭框一直有個(gè)問(wèn)題,具體來(lái)講是穿梭框選中到目標(biāo)列后,順序不是按照選中的順序,而是按照默認(rèn)的順序排列的。 問(wèn)題描述 element-ui 的穿梭框一直有個(gè)問(wèn)題,具體來(lái)講是穿梭框選中到目標(biāo)列后,順序不是按照選中的順序,而是按照默認(rèn)的順序排列的。雖說(shuō)選中value是按照選擇順序的,但這種不一致還是讓使用者比較迷惑。 相關(guān)issue有位同學(xué)吐槽的好哈: 左側(cè)飯店菜單, 右側(cè)客戶已點(diǎn)菜...

    oujie 評(píng)論0 收藏0
  • 使用nuxt開(kāi)發(fā)博客后臺(tái)管理系統(tǒng)(一)element ui使用

    摘要:進(jìn)入主題使用我們?cè)趧?chuàng)建項(xiàng)目時(shí)已經(jīng)選擇安裝了,安裝完就能使用了。 注:文章中的nuxt為2.0.0版本 眾所周知vue單頁(yè)面應(yīng)用的seo很不友好,每次打開(kāi)頁(yè)面先獲取的節(jié)點(diǎn)也就是一個(gè),而這對(duì)想用vue做spa又想擁有友好搜索引擎seo優(yōu)化的人來(lái)說(shuō)就好比雞肋。好在vue的官方出了nuxt,既能讓我們使用spa又能擁有良好的搜索引擎優(yōu)化;nuxt介紹->https://zh.nuxtjs.or...

    Freeman 評(píng)論0 收藏0
  • vuetable組件

    一個(gè)vue-table的組件 說(shuō)明: 1.基于element-ui開(kāi)發(fā)的vue表格組件。 showImg(https://segmentfault.com/img/bVbfNNM?w=786&h=649);showImg(https://segmentfault.com/img/bVbfNPc?w=746&h=233);showImg(https://segmentfault.com/img/bV...

    eternalshallow 評(píng)論0 收藏0
  • 開(kāi)發(fā)中遇到問(wèn)題總結(jié)

    摘要:獲取字符串中出現(xiàn)次數(shù)最多的字符。去掉字符串中的所有空格中對(duì)象數(shù)組按對(duì)象屬性排序 VUE 1、vue——解決You may use special comments to disable some warnings. Use // eslint-disable-next-line to ignore the next line. Use / eslint-disable / to ign...

    wenshi11019 評(píng)論0 收藏0
  • 開(kāi)發(fā)中遇到問(wèn)題總結(jié)

    摘要:獲取字符串中出現(xiàn)次數(shù)最多的字符。去掉字符串中的所有空格中對(duì)象數(shù)組按對(duì)象屬性排序 VUE 1、vue——解決You may use special comments to disable some warnings. Use // eslint-disable-next-line to ignore the next line. Use / eslint-disable / to ign...

    Yuqi 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<