默认情况下, table表格设置了sortable是只能当前页, 数据进行排序的, 这显然是没有多大意义的 ,那么如何实现全部数据分页排序呢?
首先 ,把sortable 写成sortable=“custom”
然后,在<el-table>标签中加入
@sort-change='sortChange'
最后 ,sortChange方法代码如下:
sortChange(val){
if(val.order == 'descending'){
this.order= 'desc'
}
if(val.order == 'ascending'){
this.order= 'asc'
}
this.sort = val.prop
this.index() //获取分页数据的方法
},
至此,前端代码完成
现在修改后端代码,也就是上一步 this.index()请求分页数据方法里的那个接口 我们在里面加个这么一句
$order = Request::post('order'); //排序字段
$sort = Request::post('sort'); //排序方式
$orderby = ($sort && $order) ? $sort.' '.$order : 'id desc';//$sort.' '.$order,这里单引号中间是有一个空格的文章来源:https://www.toymoban.com/news/detail-503332.html
然后在查询数据库分页数据的代码paginate前插入一句order($orderby)-> 这样就实现了全部数据的排序了,其实原理很简单,点击排序前端会提取出是升序还是降序是那个字段,然后发送获取列表数据的请求数据给后端 ,后端根据传进来的条件来返回数据文章来源地址https://www.toymoban.com/news/detail-503332.html
到了这里,关于如何实现element ui中的表格全部数据分页排序的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!