Element表格eltable多列排序,后端接口排序

摘要:
ElementUI2的表组件。x目前不支持多列排序。该方法适用于框架下表组件的多列数据排序。排序方法以数组的形式传递给后端排序。

ElementUI 2.x版本的 table 组件目前是不支持多列排序的,此方法适用于框架下的table组件多列数据排序,将排序方式以数组形式传递给后端排序。
效果如下:


 
Element表格eltable多列排序,后端接口排序第1张
image.png

1.Table组件多列排序

//  el-table标签中增加handleSortChange和handleHeaderCellClass方法
//  el-table-column标签中增加sortable='custom'
<el-table
    @sort-change="handleSortChange"
    :header-cell-class-name="handleHeaderCellClass">
      <el-table-column
          prop="XXX"
          :label="XXX"
          sortable='custom'>
      </el-table-column>
      <el-table-column
          prop="XXX"
          :label="XXX"
          sortable='custom'>
      </el-table-column>
      <el-table-column
          prop="XXX"
          :label="XXX"
          sortable='custom'>
      </el-table-column>
</el-table>

2.定义Data数组存放筛选数据

//  data中定义Arr数组,用来存放筛选列
data(){
    return {
        orderArray: [],
    }
}

3.排序方法

            //排序方法
            handleHeaderCellClass({row, column, rowIndex, columnIndex}){
                this.orderArray.forEach(element => {
                    if (column.property===element.prop) {
                        column.order=element.order
                    }
                });
            },
            handleSortChange( {column, prop, order} ){    //order值(ascending、descending、null)对应不同的排序方式
                if (order) {  //参与排序
                    let flagIsHave=false
                    this.orderArray.forEach(element => {
                        if (element.prop === prop) {
                            element.order=order
                            flagIsHave=true
                        }
                    });
                    if (!flagIsHave) {
                        this.orderArray.push({
                            prop:prop,
                            order:order
                        })
                    }
                }else{  //不参与排序
                    let orderIndex=0
                    this.orderArray.forEach((element,index) => {
                        if (element.prop === prop) {
                            orderIndex=index
                        }
                    });
                    this.orderArray.splice(orderIndex,1)
                }
                console.log(this.orderArray,"this.orderArray000")
            },
 
转自:https://www.jianshu.com/p/ac32b9c1fba0 

免责声明:文章转载自《Element表格eltable多列排序,后端接口排序》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇非托管类,身份证接口调用ZK框架笔记5、事件下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

hive QL 插入语法

1.insert 语法格式为:基本的插入语法:INSERT OVERWRITE TABLE tablename [PARTITON(partcol1=val1,partclo2=val2)]select_statement FROM from_statementinsert overwrite table test_insert select * from...

MySQL导入utf8编码的CSV文件

首先,作为测试,我们在这里创建一个名为testdb的数据库,和一个名为test_table的表: create database if not exists testdb default charset utf8 collate utf8_general_ci; use testdb; drop table if exists test_table; cr...

ggplot2 theme相关设置—线条设置

在ggplot的主题射中有一部分图需要对图中的部分线条进行设置 element_line(colour = NULL, size = NULL, linetype = NULL, lineend = NULL)参数基本属于正常的线条设置的形式。下面来看个例子 library(ggplot2) p<-ggplot(mtcars,aes(mpg,hp,c...

PowerDesinger15设置字体大小

使用PowerDesigner时,它默认table的字体大小颜色等很难看; 假设通过 Symbol ---> Format进行设置。仅仅能对选中的最改动,新建的Table无效。能够通过例如以下改动。让你的设置永久保存: Tools -----> Display Preference.... ------> Format ------...

antd vue table 单元格添加样式背景色 customCell属性

拓展使用customRow https://blog.csdn.net/EasonGG/article/details/105687765 https://blog.csdn.net/u012215273/article/details/107907460 https://segmentfault.com/q/1010000021780046 通用方式:...

Cocos2d-x Lua 阅读Csv文件,使用数据更方便

在我的书或出售之前,我的源代码,有Csvshadow文件。 也许这是偏见。我与工作将是最长的轮廓Csv,所以,我会帮助不大喜欢它的游戏。 Csv文件,非常格式easy,也就是说,一个数据线,字段之间用逗号分隔,策划也能够方便地使用Excel进行编辑。 Csv格式的文件。解析起来也非常easy,所以自己动手写写非常快~(小若:我就喜欢拿来主义,你怎么着)...