问题描述
我使用嵌套可拖动并在拖动时监听事件,然后发现如果我将itemA拖动到itemB中,则会抛出事件:
事件添加=> newIndex,元素。
它告诉我itemA在itemB中的索引,但是我知道在哪里呢?我错过了什么? :3
我发现很难在两页之间编写一个可在vue中拖动的嵌套组件,我在您自己的计算机上放了一个简单的代码来对其进行审核(不是我的,复制官方文档,几乎没有变化)。下面的代码
<template>
<div class="row">
<div class="col-8">
<h3>nested draggable</h3>
<nested-draggable :tasks="list" />
</div>
</div>
</template>
<script>
import nestedDraggable from "./infra/nested";
export default {
name: "nested-example",display: "nested",order: 15,components: {
nestedDraggable
},data() {
return {
list: [
{
name: "task 1",tasks: [
{
name: "task 2",tasks: []
}
]
},{
name: "task 3",tasks: [
{
name: "task 4",{
name: "task 5",tasks: []
}
]
};
}
};
</script>
<style scoped></style>
和红外线/嵌套
<template>
<draggable class="dragArea" tag="ul" :list="tasks" :group="{ name: 'g1' }" @change="changed">
<li v-for="el in tasks" :key="el.name">
<p>{{ el.name }}</p>
<nested-draggable :tasks="el.tasks" />
</li>
</draggable>
</template>
<script>
import draggable from "@/vuedraggable";
export default {
props: {
tasks: {
required: true,type: Array
}
},components: {
draggable
},name: "nested-draggable",methods: {
changed (event) {
console.log(event)
}
}
};
</script>
<style scoped>
.dragArea {
min-height: 50px;
outline: 1px dashed;
}
</style>
到目前为止,通过el.list可以使用保存级别元素来计算其索引,不过,需要防止拖动到空列表中。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)