el-transfer 穿梭框右侧实现拖拽排序功能

该文章已生成可运行项目,

通过 sortablejs 工具库,自定义指令来实现拖拽。

npm i sortablejs

directives/draggableTransfer.ts

import Sortable from 'sortablejs'
export function draggableTransfer(app: any) {
   
   
  app.directive('draggable-transfer', (el, binding) => {
   
   
    const {
   
    value } = binding
    const transferDoms = el.querySelectorAll('.el-transfer-panel__list')
    transferDoms &&
      transferDoms.length > 1 &&
      Sortable.create(transferDoms[1], {
   
   
        handle: '.btn-action', // 触发拖动事件的元素,
        draggable: '.el-transfer-panel__item', // 拖动触发时,可拖动的区域
        animation: 150,
        sort: true,
        disabled: false,
        onEnd(event: any) {
   
   
          // 这里可以根据需要更新数据源,例如调用binding.value回调函数传递拖动信息
          binding.value?.onDragenChange
本文章已经生成可运行项目
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Vue1024

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值