element 树形穿梭框使用

想做一个树形穿梭框的效果,看了下当前element的官网,只有列表形式的穿梭框,搜了下其他达人帖子,有一些例子,参考着做了写。

1、先仿照达人的例子,代码整个po上,跑出来看看效果,结果提示

This dependency was not found:

* el-tree-transfer in ./node_modules/_babel-loader@7.1.5@babel-loader/lib!./node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=script&index=0!./src/views/sys/user/SysRolePermissionTree2.vue

To install it, you can run: npm install --save el-tree-transfer

那就安装下吧,按提示执行命令

D:\project>npm i el-tree-transfer -S
WARNING: You are likely using a version of node-tar or npm that is incompatible with this version of Node.js.
Please use either the version of npm that is bundled with Node.js, or a version of npm (> 5.5.1 or < 5.4.0) or node-tar (> 4.0.1) that is compatible with Node.js 9 and above.
npm[16380]: c:\ws\src\node_zlib.cc:568: Assertion `args.Length() == 7 && "init(windowBits, level, memLevel, strategy, writeResult, writeCallback," " dictionary)"' failed.

看这意思还得有npm版本要求,再看看我的版本:

D:\project>npm  -version
5.4.0

果然不符合要求  那就升级下吧

D:\project\>cnpm i -g npm
Downloading npm to D:\app\nodejs\node_global\node_modules\npm_tmp
Copying D:\app\nodejs\node_global\node_modules\npm_tmp\_npm@6.14.4@npm to D:\app\nodejs\node_global\node_modules\npm
Installing npm's dependencies to D:\app\nodejs\node_global\node_modules\npm/node_modules
....
[114/115] Packgage  worker-farm@^1.7.0 is skipped because it already exists at: D:\app\nodejs\node_global\node_modules\npm\node_modules\worker-farm
[115/115] Packgage  write-file-atomic@^2.4.3 is skipped because it already exists at: D:\app\nodejs\node_global\node_modules\npm\node_modules\write-file-atomic
All packages installed (used 320ms(network 315ms), speed 0B/s, json 0(0B), tarball 0B)
[npm@6.14.4] link D:\app\nodejs\node_global\npm@ -> D:\app\nodejs\node_global\node_modules\npm\bin\npm-cli.js
[npm@6.14.4] link D:\app\nodejs\node_global\npx@ -> D:\app\nodejs\node_global\node_modules\npm\bin\npx-cli.js

升级完了 先不忙安装树形穿梭框,先npm run dev 启动下 项目看看能否启动

D:\project>npm  run  dev

 DONE  Compiled successfully in 49102ms                                                                                                                                                                                                                                                                          14:53:10

 I  Your application is running here: http://0.0.0.0:8080

没问题 那就开始安装吧。安装,结果报错了:


D:\project>npm i el-tree-transfer -S
npm ERR! Maximum call stack size exceeded

npm ERR! A complete log of this run can be found in:
npm ERR!     D:\app\nodejs\node_cache\_logs\2020-04-07T06_46_36_964Z-debug.log

这个错以前遇到过,换个镜像应该就可以:

D:\project>cnpm i el-tree-transfer -S
√ Installed 1 packages
√ Linked 0 latest versions
√ Run 0 scripts
√ All packages installed (1 packages installed from npm registry, used 3s(network 3s), speed 9.12kB/s, json 1(3.22kB), tarball 28.35kB)

安好了,下面再npm  run  dev启动一下:

2 初始效果 还需要调整。

3  效果调整和数据调整同步搞下就行,把数据从写死的改成从后台获取的即可

 

参考 达人 地址:https://www.jianshu.com/p/ec35a4b86e24

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
Element-ui提供的穿梭只支持列表结构,但根据实际需求,可以自己编写一个左边是树结构,右边是列表结构的穿梭。如果需要两边都是树结构的话,可以参考左侧的逻辑进行修改。在这个自定义的穿梭中,可以使用vuedraggable插件来实现拖拽功能。\[1\] 根据你提供的需求,你想要实现一个选择人员的功能,左侧是一个树结构,用于展示人员的部门和岗位。当点击部门或岗位时,左侧的穿梭会展示该部门或岗位下的人员,右侧的穿梭则展示我们选择后的人员。同时,当我们选择完人员后,左侧的人员应该有一个被选择的状态。\[2\] 在父组件中,你可以使用以下代码来调用这个自定义的树形穿梭: ```html <transfer v-model="transfer" :transferLoading="transferLoading" :userList="userList" :defaultSelectList="transfer" @finalUser="finalUser"></transfer> ``` 其中,`v-model`用于双向绑定选择的人员列表,`transferLoading`用于控制加载状态,`userList`是用于展示的人员列表数据,`defaultSelectList`是默认选中的人员列表,`@finalUser`是一个回调函数,用于获取最终选择的人员列表。\[3\] 希望以上信息对你有帮助!如果还有其他问题,请随时提问。 #### 引用[.reference_title] - *1* [基于Element-ui 封装穿梭(左侧树 右侧列表,可全选,列表可拖拽)](https://blog.csdn.net/weixin_40615155/article/details/125606140)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [element:树与穿梭相结合](https://blog.csdn.net/taoqidexiaojie/article/details/125896202)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值