这篇文章主要介绍了基于Vue怎么实现树形穿梭框的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇基于Vue怎么实现树形穿梭框文章都会有所收获,下面我们一起来看看吧。树形穿梭框插件el-tree-transfer这个
这篇文章主要介绍了基于Vue怎么实现树形穿梭框的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇基于Vue怎么实现树形穿梭框文章都会有所收获,下面我们一起来看看吧。
树形穿梭框插件
el-tree-transfer
安装链接
上面的连接是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怎么实现树形穿梭框”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注编程网精选频道。
--结束END--
本文标题: 基于Vue怎么实现树形穿梭框
本文链接: https://lsjlt.com/news/327740.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0