最近做了一个功能,使用element el-table组件实现表格,并实现部列的排序功能,看似很简单的功能,按照el-table组件文档开始开发。

配置如下图

因为需要根据后端接口排序,我又在上加入了一个sort-change 事件,调试的时候问题就来了,执行了sort-change事件之后,tableData获取到的数据和table表格展示的数据顺序不同。 经过研究发现,是因为sort-change和sortable两个事件都触发导致,应该去掉一个事件。 el-table-column这个sort 它不影响:data中的tableData,它影响的是ElTableBody里面写的数据,排序后tableData中的dataArray和ElTableBody中的dataArray两者数组内元素的顺序不一致。 sort-change 事件则是用户自己定义的一个方法。 修改方法:把每个el-table-column的sortable写成custom 属性。这样就只触发sort-change中的方法了。


本文讲述了在使用ElementUI的elementel-table实现表格排序功能时遇到的问题,即sort-change和sortable事件冲突导致数据展示异常。作者发现sort-change影响ElTableBody内的数据,而sortable则不影响data。解决方法是将sortable设置为custom属性,仅触发自定义的sort-change方法。
1110





