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


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


     
    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 
  • 相关阅读:
    安装VMware16兼容Hyper-v+WSL2+Docker+解决0x80370102报错
    家用联通光纤开启IPv6
    配置微软Azure大数据HDInsight云集群
    Hadoop集群搭建-05安装配置YARN
    Hadoop集群搭建-04安装配置HDFS
    Hadoop集群搭建-03编译安装hadoop
    Hadoop集群搭建-02安装配置Zookeeper
    Hadoop集群搭建-01前期准备
    springMVC+request.session实现用户登录和访问权限控制
    idea+spring4+springmvc+mybatis+maven实现简单增删改查CRUD
  • 原文地址:https://www.cnblogs.com/javalinux/p/15722041.html
Copyright © 2020-2023  润新知