当前位置: 首页 > Web前端 > vue.js

使用vue-slicksort的一些问题总结

时间:2023-04-01 01:47:43 vue.js

今天项目中有一个需求,复杂的数组可以拖拽排列。找到了一个组件:vue-slicksort,大致可以满足我的初步需求。但是在使用过程中遇到了一些问题。现记录如下。插件原站:https://www.npmjs.com/package/vue-slicksort?activeTab=readme1:使用官网教程。个人认为比较复杂。我们在使用vue的时候,大部分都不像官网上的介绍。编写组件。现将我的方法介绍如下:一、效果图:1-1):cnpmivue-slicksort--save-dev1-2):在需要使用的组件中引入:一共引入三个组件:i)handleDirective:用于点击指定图标完成拖放,而不是拖放整个区域,避免拖放项内部的点击事件被覆盖。需要在directives中赋值给handle事件,这样才能在模板中被dom绑定使用红线,从上到下,从左到右:i)useDragHandle表示组件需要使用指定的手势来完成拖动,而不是整个slickitem区域作为可以通过拖动触发的热点ii)helperClass定义被拖动的slickitem你那一刻的新类,你可以用它来设置被拖动的slickitem的样式iii)slicklist的值,也就是你需要渲染的复杂数组iii)input事件可以返回改变顺序后的数组给elementChange事件iiiiii)slickitem的index属性很重要,必须是自己的index值,所以不要修改/别问我为什么知道T~Tiiiiii)拖拽触发dom这里的v-hand对应js中引入的directive方法。特别说明:1:被拖拽的slickitem实际上已经脱离了你原来的页面dom层级,它会单独出现在html的body标签的末尾,所以在写被拖拽上去的item样式的时候需要注意,它并没有继承你之前在你的dom继承体中写的样式。2:如果拖动的item消失了,可能是你的dom元素层级覆盖了拖动的item。用z-index试试,感觉做了很久。写下来用了不到半个小时哈哈