基于Vue怎么实现树形穿梭框
短信预约 -IT技能 免费直播动态提醒
这篇文章主要介绍了基于Vue怎么实现树形穿梭框的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇基于Vue怎么实现树形穿梭框文章都会有所收获,下面我们一起来看看吧。
树形穿梭框插件
el-tree-transfer
这个插件很好的实现了vue项目树形穿梭框的功能。
安装链接
上面的连接是npm插件地址,安装步骤也很简单。
npm install el-tree-transfer --save
或者
npm i el-tree-transfer -S
然后就在需要使用穿梭框的地方像普通组件一样使用就可以了。
<template> <div> // 你的代码 ... // 使用树形穿梭框组件 <tree-transfer :title="title" :from_data='fromData' :to_data='toData' :defaultProps="{label:'label'}" @add-btn='add' @remove-btn='remove' :mode='mode' height='540px' filter openAll> </tree-transfer> </div> </template> <script> import treeTransfer from 'el-tree-transfer' // 引入 export defult { data(){ return:{ mode: "transfer", // transfer addressList fromData:[ { id: "1", pid: 0, label: "一级 1", children: [ { id: "1-1", pid: "1", label: "二级 1-1", disabled: true, children: [] }, { id: "1-2", pid: "1", label: "二级 1-2", children: [ { id: "1-2-1", pid: "1-2", children: [], label: "二级 1-2-1" }, { id: "1-2-2", pid: "1-2", children: [], label: "二级 1-2-2" } ] } ] }, ], toData:[] } }, methods:{ // 切换模式 现有树形穿梭框模式transfer 和通讯录模式addressList changeMode() { if (this.mode == "transfer") { this.mode = "addressList"; } else { this.mode = "transfer"; } }, // 监听穿梭框组件添加 add(fromData,toData,obj){ // 树形穿梭框模式transfer时,返回参数为左侧树移动后数据、右侧树移动后数据、移动的{keys,nodes,halfKeys,halfNodes}对象 // 通讯录模式addressList时,返回参数为右侧收件人列表、右侧抄送人列表、右侧密送人列表 console.log("fromData:", fromData); console.log("toData:", toData); console.log("obj:", obj); }, // 监听穿梭框组件移除 remove(fromData,toData,obj){ // 树形穿梭框模式transfer时,返回参数为左侧树移动后数据、右侧树移动后数据、移动的{keys,nodes,halfKeys,halfNodes}对象 // 通讯录模式addressList时,返回参数为右侧收件人列表、右侧抄送人列表、右侧密送人列表 console.log("fromData:", fromData); console.log("toData:", toData); console.log("obj:", obj); } }, components:{ treeTransfer } // 注册 } </script> <style> ... </style>
效果展示
关于“基于Vue怎么实现树形穿梭框”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“基于Vue怎么实现树形穿梭框”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注编程网行业资讯频道。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341