最后创建的元素不是我删除的那个
The last created element isn't the one I dropped
我必须执行拖放程序,所以我使用 Vue.Draggable 但是当我将我的元素放入第二个列表时,该列表中最后创建的元素不是我拖放的那个,而是那个值被替换了。
例如,如果我有一个像这样的放置数组:
var a = [
{
name: 'element1'
},
{
name: 'element2'
},
...
]
并且我在第二个列表的第一个元素之前放置了一个元素,最后创建的元素将是 'element1' 我需要我的程序使最后创建的元素成为删除的元素
我不知道 Vue.Draggable 是怎么做到的,但是当我以编程方式
第二个列表中某处的元素,例如 secondList.splice(3, 0, newElement)
最后创建的元素是我想要的元素 (newElement)
这是第一个列表中的代码:
<draggable v-model="blocks" :clone="clone" :options="draggableOptions" @end="reGenerateUuid">
<block
v-for="b in blocks"
:key="b.props.uuid"
:title="b.title"
:image="b.image"
@click.native="addBlock(blocks[key])" />
</draggable>
第二个列表是一个渲染组件,所以我不能分享它,因为它很大。
第二个列表不使用带有可拖动组件的 v-model,而是使用 list
道具,因为据我了解,我不能将 v-model 放在 VueJS 中的渲染元素上。
第二个列表中的可拖动元素没有 key
属性,因为我不希望它们重新生成。
也许我需要指定 draggable 应该如何将元素添加到第二个列表?
有人知道吗?
The elements draggable on the second list doesn't have the key prop
because i don't want them to regenerate.
您需要 key
道具。否则 Vue 无法正确跟踪元素的顺序。
我必须执行拖放程序,所以我使用 Vue.Draggable 但是当我将我的元素放入第二个列表时,该列表中最后创建的元素不是我拖放的那个,而是那个值被替换了。
例如,如果我有一个像这样的放置数组:
var a = [
{
name: 'element1'
},
{
name: 'element2'
},
...
]
并且我在第二个列表的第一个元素之前放置了一个元素,最后创建的元素将是 'element1' 我需要我的程序使最后创建的元素成为删除的元素
我不知道 Vue.Draggable 是怎么做到的,但是当我以编程方式
第二个列表中某处的元素,例如 secondList.splice(3, 0, newElement)
最后创建的元素是我想要的元素 (newElement)
这是第一个列表中的代码:
<draggable v-model="blocks" :clone="clone" :options="draggableOptions" @end="reGenerateUuid">
<block
v-for="b in blocks"
:key="b.props.uuid"
:title="b.title"
:image="b.image"
@click.native="addBlock(blocks[key])" />
</draggable>
第二个列表是一个渲染组件,所以我不能分享它,因为它很大。
第二个列表不使用带有可拖动组件的 v-model,而是使用 list
道具,因为据我了解,我不能将 v-model 放在 VueJS 中的渲染元素上。
第二个列表中的可拖动元素没有 key
属性,因为我不希望它们重新生成。
也许我需要指定 draggable 应该如何将元素添加到第二个列表?
有人知道吗?
The elements draggable on the second list doesn't have the key prop because i don't want them to regenerate.
您需要 key
道具。否则 Vue 无法正确跟踪元素的顺序。