【WEB前端开辟】layui中table的sort排序引见

本日来谈谈table sort的那点事。预报一下,目标是做到前台排序另有服务器排序区离开,现在的table的分页现实是比较“乱”的,置信很多用的有一段时间的特别是做server排序的同砚都邑多多少少碰到不正常的状况。

引荐:layui教程

先看看现在layui自带的排序的效果,中文按字典排序这些不是本次议论的重点,先看看假如存在整数负数另有0涌现的状况

那末是否是调解一下sort内里的逻辑就能够了让它对负数和0的推断逻辑对了就好了。这个实在也不是此次议论的重点。

那末重点是,server排序,现实上绝大部分的table的排序不会只是单页面的这模样简朴的排序,而是把前提传到背景让背景排序,那末官方给出的平常是监听sort然后reload,把前提传过去,这些都很ok,逻辑都没题目。

but现实获得的效果呢?由于现在table没有辨别前台排序照样server排序,在接收到数据以后再衬着表格的时刻推断到有initSort,那末会再次将数据排序,然后显现,这就存在一个非常严峻的题目!

明显server已排好序了,为啥还要js内里再sort一下,更严峻的是,能保证sort出来的效果跟背景排序的划定规矩出来的效果一致么?拿什么保证呢?

看看下面的代码监听reload的时刻然后模仿背景把数据根据负数<0<正数这个划定规矩返回的data,现实reload以后是什么模样吧。

代码:

效果

能够你会以为跟前面没啥区分呀,排序的时刻照样错了呀,这正是非常的处所。看看我模仿返回的data内里的构造吧

原始的data:

模仿的接口返回的data:

这个返回以后明显显现的效果跟现实数据的递次对不上号

缘由就是上面说的,现实发背景排序的时刻到了衬着的时刻照样要走一次前台排序,等于是做了一个弄巧成拙的处置惩罚。现实假如我们定义成server排序返回的数据就是要显现的递次了。

相对不能再走前端sort一下这个逻辑,不然背景排序的意义是什么另有怎样保证逻辑跟背景是一致的,一致的话顶多算是一个无用功,然则假如不能保证一致,这个就是一个大变乱了。

解决方案:供应用户一个设置项,决定是前台排序照样server排序。修正以下

须要修正的原始代码地区

修正以后的对应地区的代码:

测试的table在render的时刻加入了sortType的设置

末了是sort的监听

末了的效果

完全的测试代码另有对table.js的对应修正的地点: https://pan.baidu.com/s/1OjwwVmjy02wRQ0rT1euLlQ

以上就是layui中table的sort排序引见的细致内容,更多请关注ki4网别的相干文章!

点赞

发表评论

电子邮件地址不会被公开。必填项已用 * 标注