基于 elementUI table 组件实现自定义列、宽度、排序并联动同步
业界
作者:SegmentFault
2021-07-31 21:17:58
阅读:1330
作者:linong
来源:SegmentFault 思否社区
哈喽,大家好又是我。昨天有个人在群里问:“基于 elementUI 如何实现拖动修改列宽度,并同步在多个表格中”。
这个功能其实听常见的,在不同的使用者眼中关注点就应该是不一样的。比如:
我们的目的是:针对于不同的人群,显示不同的字段,不同的排序规则(index、fixed)。那好,我们先来分析一下实现这样的功能都需要做什么。前期调研
elementUI 支持那些功能、回调?
宽度控制
- 是否提供了回调函数?
header-dragend(newWidth, oldWidth, column, event) 当拖动表头改变了列的宽度的时候会触发该事件 - 宽度是否可以通过参数控制?提供,给
el-table-column 组件添加 width 属性即可。 - 参数是首次有效,还是动态更新?动态更新所以可以使用
:width - 是否提供了拖拽调整宽度的方案?添加
border ,并且开启 resizable (默认开启)。
- 顺序是否可以通过参数控制?没提供,看了一遍并且搜索 排序、顺序、index 等关键词并无收获。主要排序能力都是对内容区域。
- 如果无法通过参数配置,那么通过什么地方可以影响到排序规则?我们可以通过修改
<el-table-column> 的顺序来控制。
分析
经过调研 elementUI 发现可以近乎完成这项工作,那么我们就不考虑其他方案了。只把获取当前宽度配置这一个问题解决就好了。思考
*文章为作者独立观点,不代表 免费SSL 立场
原文链接 https://www.51uos.com/news/industry/2234.html