vue2 element ui 的表格使用 sortablejs 拖拽列遇到的问题和解决方案

项目使用 element ui 的表格实现拖动表头可改变列的宽度,又使用sortablejs实现表格的列可拖拽到其他列的位置,导致出现如下的一些问题:

1、某一列宽变大或变小后,只有当前列可拖拽,其他列无法拖拽。

解决方案:在列宽发生改变后,销毁当前拖拽实例,再重新创建拖拽实例。

javascript 复制代码
this.sortDemo.destroy()

此方法可查看sortablejs官网 Sortable.js中文网

2、当表格没有横向滚动条时,某一列宽变大或变小时,其他列宽也会变大或变小。

根因:表格的每一列设置了min-width,当表格没有横向滚动条时,某一列宽变大或变小时,min-width 会把剩余宽度按比例分配给设置了 min-width 的列,这样才可以撑开表格的整体宽度。

结论:当表格有横向滚动条时就不会出现这个问题。

3、当表格没有数据时,列不可以拖拽,改变列宽后可拖拽。

解决方案:表格数据更新后,不管表格数据接口有没有返回数据,都需重新挂载拖拽监听事件,才可以拖拽列。

javascript 复制代码
this.reDrawTable()
相关推荐
洛豳枭薰几秒前
jvm运行时数据区& Java 内存模型
java·开发语言·jvm
沛沛老爹4 分钟前
Web开发者进阶AI:企业级Agent Skills安全策略与合规架构实战
前端·人工智能·架构
lsx2024066 分钟前
Perl 错误处理
开发语言
摘星编程7 分钟前
React Native for OpenHarmony 实战:SegmentControl 分段控件详解
javascript·react native·react.js
甄心爱学习7 分钟前
KMP算法(小白理解)
开发语言·python·算法
摘星编程12 分钟前
React Native for OpenHarmony 实战:ProgressRing 环形进度详解
javascript·react native·react.js
zephyr0525 分钟前
C++ STL unordered_set 与 unordered_map 完全指南
开发语言·数据结构·c++
遗憾随她而去.30 分钟前
前端首屏加载时间的度量:FCP、LCP等指标的规范理解
前端
TAEHENGV32 分钟前
React Native for OpenHarmony 实战:数学练习实现
javascript·react native·react.js
CDwenhuohuo32 分钟前
安卓app巨坑 nvue后者页面要写画笔绘制功能nvue canvas
前端·javascript·vue.js