vue-draggable拖拽完成后,原元素会出现闪影
时间: 2023-08-04 13:26:29 浏览: 281
这个问题可能是由于浏览器的重绘机制导致的。在拖拽结束时,原元素被移动到了新的位置,并且拖拽的元素也被新建了一个,这时浏览器可能需要重新绘制页面,从而导致原元素出现闪影。
你可以尝试在拖拽结束时,延时一段时间再移除原元素,等待浏览器完成重绘,这样应该能够避免闪影问题。代码示例:
```javascript
methods: {
onEnd() {
// 延时一段时间再移除元素
setTimeout(() => {
this.removeElement();
}, 100);
},
removeElement() {
// 移除元素
this.$refs.originalElement.remove();
}
}
```
这样处理后,应该能够避免原元素出现闪影的问题。可以根据实际情况调整延时的时间。
相关问题
vue-draggable子元素拖拽
对于Vue.js项目中的子元素拖拽,你可以使用vue-draggable插件来实现。下面是一个简单的示例:
1. 首先,安装vue-draggable插件:
```
npm install vuedraggable
```
2. 在你的Vue组件中引入并注册该插件:
```javascript
import draggable from 'vuedraggable';
export default {
components: {
draggable
},
// ...
}
```
3. 在模板中使用`draggable`组件来实现子元素的拖拽:
```html
<template>
<div>
<draggable v-model="items">
<div v-for="(item, index) in items" :key="index">
<!-- 子元素内容 -->
</div>
</draggable>
</div>
</template>
```
在上面的示例中,`v-model`指令绑定了一个数组`items`,该数组中的元素将会被渲染为子元素,并且可以通过拖拽进行重新排序。你可以根据自己的需求对子元素进行样式和功能的定制。
请注意,你可能还需要根据具体情况调整插件的配置选项。你可以查阅vue-draggable的官方文档来获取更多详细信息和示例:https://github.com/SortableJS/Vue.Draggable
vue-draggable-resizable拖动对齐
回答: 要实现vue-draggable-resizable的拖动对齐功能,你可以使用它提供的属性和事件。首先,确保你已经正确引入了vue-draggable-resizable组件。你可以在页面中直接引入组件,如引用\[1\]所示,或者通过npm安装并在代码中引入,如引用\[2\]和\[3\]所示。然后,在使用vue-draggable-resizable的地方,你可以使用它提供的属性来控制拖动和对齐的行为。例如,你可以使用`:grid="\[10, 10\]"`属性来设置拖动的网格大小,使元素在拖动时对齐到网格上。你还可以使用`@drag`事件来监听拖动事件,并在事件处理程序中进行对齐操作。具体的实现方式可以根据你的需求和具体的代码结构来进行调整。希望这些信息对你有帮助!
#### 引用[.reference_title]
- *1* [vue-draggable-resizable定制化可拖动控件](https://blog.csdn.net/dongguan_123/article/details/102576308)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
- *2* [vue-draggable-resizable-gorkys 可拖拽缩放的组件](https://blog.csdn.net/qq_39156660/article/details/126829435)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
- *3* [拖动和调整div大小vue-draggable-resizable组件](https://blog.csdn.net/qq_29483485/article/details/128550293)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
阅读全文