vuedraggable拖动控件的使用

除了vue外还需要引入两个js

  <script src="/plugin/vuedraggable/Sortable.min.js"></script>
  <script src="/plugin/vuedraggable/vuedraggable.umd.min.js"></script>

缺少Sortable会报错TypeError: external_commonjs_sortablejs_commonjs2_sortablejs_amd_sortablejs_root_Sortable_default.a is not a constructor

vue.min.js:6 TypeError: external_commonjs_sortablejs_commonjs2_sortablejs_amd_sortablejs_root_Sortable_default.a is not a constructor
    at o.mounted (vuedraggable.js:226)
    at _t (vue.min.js:6)
    at Object.insert (vue.min.js:6)
    at A (vue.min.js:6)
    at hn.__patch__ (vue.min.js:6)
    at hn._update (vue.min.js:6)
    at hn.i (vue.min.js:6)
    at St.get (vue.min.js:6)
    at new St (vue.min.js:6)
    at hn.$mount (vue.min.js:6)

推荐使用npm下载,同时包括了Sortable和vuedraggable
npm i -S vuedraggable

<draggable id="zhdd_video_list" v-model="videoList" @start="drag=true" @end="drag=false" animation="300" style="width: 100%;">
     <transition-group type="transition" style="width: 100%; height: 100%">
         <div class="grid" v-for="(video, index) in videoList" :key="video.id">
             <i class="fa fa-arrows fa-fw handle"></i>
             <i class="fa fa-trash-o fa-fw delete" @click="()=>{videoList.splice(index, 1);}"></i>
         </div>
     </transition-group>
</draggable>

如果需要设置多行多列的grid模式只需要设置css,宽度自定。

.grid {
    width: 50%;
    display: inline-block;
}

item的key一定要绑定 :key=“video.id”

如果需要动画效果给draggable标签设置属性 animation=“300”。 transition-group中的item就有拖动动画了。

如果需要指定可拖动的位置给draggable设置handle=".handle"属性。而后只有点击带有handle类的元素才能拖动

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值