最近做了一个功能,使用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中的方法了。