element ui前端排序,某列有数据为空值时,排序错乱问题

表格排序列的数据出现空值时,组件自带的排序功能不正常。而后查找了相关解决方法,有一网友给了我启示,解决了问题,现在照着思路写下步骤,日后再次遇到方便查找

在这里插入图片描述

解决方式是重新定义一个新数组:遍历表格数据data,使其含空的数据堆在一块,非空的数据放在一块,新数组给表格data重新赋值, 然后记录排序规则。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
排序后的结果:
在这里插入图片描述在这里插入图片描述

  • 5
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Element-UI中的Table组件是一个功能强大的表格插件,支持丰富的数据展示和交互。如果想要处理包含空列(即列宽为0或没有数据显示)的数据并进行排序,需要注意一些细节。 首先,在配置表头,对于那些不需要排序的空列,你可以设置`sortable`属性为`false`,例如: ```html <el-table-column type="index" label="#" width="50" :sortable="false"></el-table-column> ``` 然后,在数据渲染中,即使某些行的对应为空,你也可以正常地返回`undefined`或者其他标记空的,因为El-Table会默认空值排序被放在最后。如果你希望特定的空值被特别处理,比如始终排在最前面,可以在排序函数里添加判断条件。 如果你想自定义排序规则,可以提供一个`sortMethod`属性,这个方法接收当前列的字段名、两个以及它们的原始顺序作为参数,根据业务需求编写合适的比较逻辑。例如: ```javascript <el-table-column prop="yourColumn" label="标题" sortable sort-method="customSortFn"> </el-table-column> methods: { customSortFn(field, a, b) { if (a[field] === undefined && b[field] === undefined) { return 0; // 如果都是空值,则保持不变 } else if (a[field] === undefined) { return 1; // 空值排在非空值后 } else if (b[field] === undefined) { return -1; } else { // 正常排序逻辑 } }, } ``` 总之,处理Element-UI Table中的空列排序,关键在于配置表头的可排序性、数据渲染的处理以及自定义排序方法,根据实际业务场景调整相应的逻辑。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值