我正在使用Draggable进行拖放,并试图了解如何在拖放开始时以及拖放之前更改克隆的HTML元素。
<div id="main">
<h1>Vue Draggable</h2>
<div class="drag">
<h2>List 1 Draggable</h2>
<draggable :list="list" :clone="clone" class="dragArea" :options="{group:{ name:'people', pull:'clone', put:false }}">
<div v-for="(element, index) in list" :key="index">
{{element.name}}
</div>
</draggable>
<h2>List 2 Draggable</h2>
<draggable :list="list2" class="dragArea" :options="{group:'people'}">
<div v-for="(element, index) in list2" :key="index" @click="click(element)">{{element.name}}</div>
</draggable>
</div>
<div class="normal">
<h2>List 1 v-for</h2>
<div>
<div v-for="element in list">{{element.name}}</div>
</div>
<h2>List 2 v-for</h2>
<div>
<div v-for="element in list2">{{element.name}}</div>
</div>
</div>
</div>
但是我没有看到克隆HTML本身,只有我拖动的内部文本:
var vm = new Vue({
el: "#main",
data: {
list: [{
name: "John"
}, {
name: "Joao"
}],
list2: [{
name: "Juan"
}, {
name: "Edgard"
}]
},
methods: {
click: function(item) {
item.name="IT GETS CLONED";
},
clone: function(el){
return {
name: "new text";
};
}
}
});
我在这里缺少什么?克隆是否没有给我一个可以使用的新HTML元素?
我尝试使用这个简单的example