vue2中vuedraggable设置部分元素不可拖拽,不可移动
在Vue2中,如果你想设置vuedraggable列表中的部分元素不可拖拽,不可移动,你可以使用draggable
属性。这个属性可以根据你的条件来动态决定元素是否可以被拖动。
以下是一个简单的例子,演示如何使用draggable
属性:
<template>
<draggable v-model="list" :options="{group: 'people'}" @start="drag=true" @end="drag=false">
<div v-for="item in list" :key="item.id" :draggable="!isLocked(item)">
{{ item.name }}
</div>
</draggable>
</template>
<script>
import draggable from 'vuedraggable'
export default {
components: {
draggable
},
data() {
return {
list: [
{ id: 1, name: 'Alice', locked: true },
{ id: 2, name: 'Bob', locked: false },
{ id: 3, name: 'Carol', locked: true },
{ id: 4, name: 'Dan', locked: false }
],
drag: false
}
},
methods: {
isLocked(item) {
return this.drag || item.locked;
}
}
}
</script>
在这个例子中,list
是一个包含人名和锁定状态的数组。draggable
组件用v-for
创建了一个div列表。isLocked(item)
方法根据当前的拖动状态和元素的锁定状态来决定是否可拖动。如果drag
为true
或者元素的locked
属性为true
,则该元素不可拖动。
评论已关闭