Vue.js / vuedraggable :将 "v-model" 添加到可拖动对象使其不可拖动
Vue.js / vuedraggable : Adding "v-model" to a draggable makes it not draggable
我在使用 Vue.js 和库 VueDraggable (https://github.com/SortableJS/Vue.Draggable) 时遇到问题
这是代码示例:
<draggable v-if="n === 2 && track.getDisplayArray()[1].length !==0"
element="ul"
:options="{group:'layers '+ track.itemId}"
v-bind:class="{ hidden: !track.show, 'child-container': track.show }"
v-model="track.getDisplayArray()[1]"
:move="onMove"
@start="onStart"
@end="onFinished">
<li class="item" v-bind:class="{ hidden: !layer.show, child: layer.show }"
v-for="layer in track.getDisplayArray()[1]">
<span>{{layer.name}}</span>
<img class="item-view" src="static/img/ic_view.svg" alt="view">
</li>
</draggable>
onMove 函数只是 returns true,onStart 和 onFinished 是空的(但我想在将来用它们做点什么;))
当"v-model" 属性出现时,创建的li标签不能互换。
当我删除这个 属性 时,可以交换 li 标签。
你看到问题了吗?它们是否在我不知道的某些属性之间 "conflicts"?
我找到了问题的解决方案。将 v-model 更改为 value 并没有改变任何东西,因为它们看不到它们链接到的列表中的更新。
我用 属性 "list" 替换了 "v-model" 属性 .
根据文档:
The main difference is that list prop
is updated by draggable component using splice method, whereas value
is immutable.
我在使用 Vue.js 和库 VueDraggable (https://github.com/SortableJS/Vue.Draggable) 时遇到问题 这是代码示例:
<draggable v-if="n === 2 && track.getDisplayArray()[1].length !==0"
element="ul"
:options="{group:'layers '+ track.itemId}"
v-bind:class="{ hidden: !track.show, 'child-container': track.show }"
v-model="track.getDisplayArray()[1]"
:move="onMove"
@start="onStart"
@end="onFinished">
<li class="item" v-bind:class="{ hidden: !layer.show, child: layer.show }"
v-for="layer in track.getDisplayArray()[1]">
<span>{{layer.name}}</span>
<img class="item-view" src="static/img/ic_view.svg" alt="view">
</li>
</draggable>
onMove 函数只是 returns true,onStart 和 onFinished 是空的(但我想在将来用它们做点什么;))
当"v-model" 属性出现时,创建的li标签不能互换。
当我删除这个 属性 时,可以交换 li 标签。
你看到问题了吗?它们是否在我不知道的某些属性之间 "conflicts"?
我找到了问题的解决方案。将 v-model 更改为 value 并没有改变任何东西,因为它们看不到它们链接到的列表中的更新。
我用 属性 "list" 替换了 "v-model" 属性 .
根据文档:
The main difference is that list prop is updated by draggable component using splice method, whereas value is immutable.