vue.draggable中文文档

vue.draggable handle 鼠标在指定元素上才允许拖动

当鼠标落在handle指定的元素上面时才允许拖动,如下面的例子只能点击加号区域才能拖动,点击其他区域则无法拖动。

handle属性

属性名称 默认值 说明
handle 指定可拖动元素的样式名称
<draggable v-model="arr1"  handle=".mover"  animation="300">
   <transition-group>
       <div class="item" v-for="item in arr1" :key="item.id">{{item.name}}</div>
   </transition-group>
 </draggable>

例子

完整代码

<template>
  <div> 
<!--使用draggable组件-->
<div class="itxst">
<div class="col">
 <draggable v-model="arr1"  handle=".mover"  animation="300"  @start="onStart" @end="onEnd">
    <transition-group>
     <div class="item" v-for="item in arr1" :key="item.id"><span class="mover">+</span>{{item.name}}</div>
    </transition-group>
</draggable> 
 </div>
  </div>
  </div>
</template>
<script>
//导入draggable组件
import draggable from 'vuedraggable'
export default {
  //注册draggable组件
  components: {
            draggable,
        },
  data() {
    return { 
      disabled:false,
      //定义要被拖拽对象的数组
      arr1:[
        {id:1,name:'www.itxst.com'},
        {id:2,name:'www.jd.com'},
        {id:3,name:'www.baidu.com'},
        {id:4,name:'www.taobao.com'}
        ] 
    };
  },
  methods: {
     //设置禁止拖拽
      setJY(){
        this.disabled=true;
      },
      //设置启用拖拽
      setQY(){
        this.disabled=false;
      },
       onStart(){
        this.drag=true;
      },
     //开始拖拽事件
      onStart(){
        this.drag=true;
      },
      //拖拽结束事件
       onEnd() {
       this.drag=false;
    },
  },
};
</script>
<style scoped>
  /*定义要拖拽元素的样式*/
      .itxst {
          margin: 10px;
      }
      .col {
          width: 80%;
          flex: 1;
          padding: 10px;
          border: solid 1px #eee;
          border-radius: 5px;
          float: left;
      }
      .col + .col {
          margin-left: 10px;
      }
      .item {
          padding: 6px 12px;
          margin: 0px 10px 0px 10px;
          border: solid 1px #eee;
          background-color: #f1f1f1;
          text-align: left;
      }
      .item + .item {
          border-top: none;
          margin-top: 6px;
      }
      .mover {
          background-color: #fdfdfd;
          cursor: move;
          padding:3px 6px;
      }
</style>
Catalog
快速入门 js 版本 vue3 版本 常用例子 vue.draggable 单列拖拽 vue.draggable 表格拖动 vue.draggable 多列拖动 属性列表 group 拖拽分组 delay 响应时间 disabled 启用禁用 scroll 是否允许滚动 animation 过渡效果 handle 可拖动元素 filter 排除元素 chosenClass 选中样式 ghostClass 位符样式 clone 拷贝拖拽 事件列表 全部事件列表 move 自定义控制 add 拖拽完成事件 start 开始拖动