vueDraggable-属性01

254 阅读1分钟

vueDraggable-group属性

group属性控制分组之间能否相互拖拽,本文例子A组和B组之间可以相互拖拽;如要看示例项目代码详情,请点击

group字符串用法

//直接设置字符串类型的组名,相同名称的组就可以相互拖拽
<draggable v-model="arr1" group="itxst">
      <transition-group>
        <div class="item" v-for="item in arr1" :key="item.id">
          {{ item.name }}
        </div>
      </transition-group>
</draggable>

<draggable v-model="arr2" group="itxst">
      <transition-group>
        <div class="item" v-for="item in arr1" :key="item.id">
          {{ item.name }}
        </div>
      </transition-group>
</draggable>

Object类型用法

//可以比字符串名称更精确的控制拖入拖出
<draggable v-model="arr1" :group="groupA">
      <transition-group>
        <div class="item" v-for="item in arr1" :key="item.id">
          {{ item.name }}
        </div>
      </transition-group>
</draggable>

<draggable v-model="arr2" :group="groupB">
      <transition-group>
        <div class="item" v-for="item in arr1" :key="item.id">
          {{ item.name }}
        </div>
      </transition-group>
</draggable>
<script> 
export default { 
  data() {
    return { 
      //group属性对象
      groupA: {
        name: "itxst",
        pull: true,  //可以拖出
        put: true,   //可以拖入
      },
      groupB: {
        name: "itxst",
        pull: true,
        put: true,
      }, 
    };
  }, 
};
</script>

自定义函数

//通过自定义函数可以精确的控制是否允许拖入拖出
<draggable v-model="arr1" :group="groupA">
      <transition-group>
        <div class="item" v-for="item in arr1" :key="item.id">
          {{ item.name }}
        </div>
      </transition-group>
</draggable>
<draggable v-model="arr2" :group="groupB">
      <transition-group>
        <div class="item" v-for="item in arr1" :key="item.id">
          {{ item.name }}
        </div>
      </transition-group>
</draggable>
<script> 
export default { 
  data() {
    return { 
      //group属性对象
      groupA: {
        name: "itxst",
        put: true, //可以拖入
        pull: () => {
          if (this.arr1.length <= 2) {
            this.message = "元素小于等于2不允许再拖拽了";
          }
          return this.arr1.length > 2;
        },
      },
      groupB: {
        name: "itxst",
        pull: true,
        put: true,
      }, 
    };
  },   
};
</script>

代码详情点击,可以查看到详细的代码。

系列相关推荐:

vueDraggable-基础01

vueDraggable-基础02

vueDraggable-属性01

vueDraggable-属性02

vueDraggable-属性(最后)