element-ui表格排序,默认的升序和降序反过来了?

发布于 2022-09-11 23:29:21 字数 1128 浏览 10 评论 0

如图:
调用降序时:表格数据升序排列
image.png

调用升序时:表格数据降序排列
image.png

相关代码:
image.png

查找了很久的问题,发现应该是因为排序的值是一个对象中的值
image.png

利用下面的方法之后,排序正常
image.png

    sortByDate(obj1, obj2) {  // 自定义排序方式
      let val1 = obj1.indicator1.value
      let val2 = obj2.indicator1.value
      return val1 - val2
    },

但是这个方法引入的参数是element官方固定的,第一张图可以看出来我的列是动态生成的,也就是说
image.png
但是这个方法又不能引进参数,就不知道如何解决

查阅 发现参考第二种方法只支持设置第一层的对象名(我这个是第二层了)
image.png

如何才能动态设置,将 item.prop.value 设置为排序的内容值呢?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

如歌彻婉言 2022-09-18 23:29:21

显然这是按字符串而不是按数值排序了。

检查一下你传入的数据源里该列值的类型,如果是 String 的话先转成 Number。

梦里南柯 2022-09-18 23:29:21

你可以写个箭头函数传进自定义方法里
:sort-method="(obj1, obj2) => { sortByDate(obj1, obj2, item.prop) }"

楼上老哥说的也对,把字符串变成数值试试看行不行,不行再用自定义方法吧

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文