Dar*_*ren 0 drag-and-drop vue.js sortablejs vuejs2 vuedraggable
我目前正在制作一个网站构建器,用户可以在其中拖放来添加元素。
拖放效果很好,但我想要的是,如何禁用/隐藏目标容器中的放置占位符?
如图所示,每当我将鼠标悬停在容器上时,它都会默认显示我的拖动元素的副本,这是我不想要的。
这是我的代码:
<template>
<div style="display : flex;">
<div id="dragArea">
<draggable
class="dragArea list-group"
:list="list1"
:group="{ name: 'item', pull: 'clone', put: false }"
:clone="cloneItem"
@change="log"
>
<div class="list-group-item" v-for="element in list1" :key="element.id">{{ element.name }}</div>
</draggable>
</div>
<div id="dropArea">
<draggable class="dragArea list-group" :list="list2" group="item" @change="log">
<div class="list-group-item" v-for="element in list2" :key="element.id">{{ element.name }}</div>
</draggable>
</div>
</div>
</template>
Run Code Online (Sandbox Code Playgroud)
脚本 :
<script>
import draggable from "vuedraggable";
let idGlobal = 8;
export default {
name: "custom-clone",
display: "Custom Clone",
order: 3,
components: {
draggable,
},
data() {
return {
hover : false,
list1: [
{ name: "cloned 1", id: 1 },
{ name: "cloned 2", id: 2 },
],
list2: [
]
};
},
methods: {
log: function(evt) {
window.console.log(evt);
},
cloneItem({ name, id }) {
return {
id: idGlobal++,
name: name
};
},
},
};
</script>
Run Code Online (Sandbox Code Playgroud)
小智 5
<draggable>在中的每个组件上<template>,您可以使用或ghost-class将 prop 设置为隐藏放置占位符(即“幽灵”或您所说的“拖动元素”)的 CSS 类。display: none;visibility: hidden;
例如:
在你的<template>:
<draggable ghost-class="hidden-ghost">
Run Code Online (Sandbox Code Playgroud)
在<style>Vue 单文件组件的部分或相应的样式表中:
.hidden-ghost {
display: none;
}
Run Code Online (Sandbox Code Playgroud)
该ghost-classprop 在内部设置 SortableJS选项(请参阅此处的ghostClass所有选项)。从 Vue.Draggable v2.19.1开始,可以将这些 SortableJS 选项修改为 Vue.Draggable 属性。
| 归档时间: |
|
| 查看次数: |
5340 次 |
| 最近记录: |