table表格排序,@sort-change=“sortChange“ 取消排序

   table表格排序,@sort-change="sortChange" 取消排序

点击的单个进行排序时,要求isAsc对应当前字段的排序顺序;值ascending,descending,null三种情况;若指定了列对应的prop,没有指定order的话,默认ascending; 

 

 desc降序,asc升序,当点升降序的时候,传空,执行列表方法。

  // 排序
        sortChange(e) {
            console.log(e, "e")
            if(e.order){
                this.sort_column = e.prop;
                this.sort_type = e.order == 'descending' ? 'desc' : 'asc';
            }else{
                this.sort_column =''
                this.sort_type = '';
            }
            this.pageIndex = 1;
            this.getDataList();
        },

table调用排序方法 @sort-change="sortChange",调后端接口动态排序,sortable="custom"

  <el-table :data="dataList" border stripe @selection-change="selectionChangeHandle" @row-dblclick="detailsFun" @sort-change="sortChange"  max-height="550px" v-loading="dataListLoading">
            <el-table-column type="selection" align="center" header-align="center" width="50"></el-table-column>
            <el-table-column prop="code" label="编号" header-align="center" width="120" sortable="custom"
                show-overflow-tooltip></el-table-column>
            <el-table-column prop="user_name" label="业务经理" header-align="center" min-width="120" sortable="custom" show-overflow-tooltip>
            </el-table-column>            
        </el-table>

 

注意:

@sort-change 事件:表格的排序条件发生变化的时触发,参数 { column, prop, order }, 分别代表的意义是:

column:当前列

prop:当前列需要排序的数据

order:排序的规则(升序、降序和默认[默认就是没排序])

 getSortList(arr) {
      let temArr = JSON.parse(JSON.stringify(arr))
      temArr.map(item => {
        item.prop = this.strChange(item.prop)
        item.order = item.order == 'descending' ? 'desc' : 'asc'
        return item
      })
      var str = ''
      for (var i = 0; i < temArr.length; i++) {
        str +=
          i === temArr.length - 1
            ? temArr[i].prop
            : temArr[i].prop + ' ' + temArr[i].order + ','
      }
      console.log(str)
      this.sortStr = str
      //调后端列表接口
    },

 

 

首先要明确一个问题,就是你使用的el-table组件是否是循坏渲染的,如果不是,直接在需要清除排序的地方调用element-ui中官网的一个方法即可解决,方法如下:

this.$refs.tablelist.clearSort() //只会清除最后点击的一项的高亮

当你的table组件是结合tabs组件被循环出来的时候,那么上面的方法使用时就会报错了,

     因为ref  tableList是一个数组,可以cosole.log打印一下看看即可。如果可以很方便的找到对应的index节点的话,使用

    this.$refs.tableList[index].clearSort()       即可清除排序解决

 天气炎热,码字实属不易,看看花心情凉快一下 

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你可以使用AVUE框架来自定义删除按钮,并将设备组的搜索框的输入值与删除按钮绑定。下面是一个示例代码,展示了如何在点击删除按钮时获取当前搜索框的值: ```html <template> <el-row> <basic-container> <avue-crud :option="option" :table-loading="loading" :data="dataList" :options="tableOptions" :page="page" :search="query" :permission="permissionList" :before-open="beforeOpen" :sortKey="sortKey" :sortOrder="sortOrder" :default-sort="{ prop: 'statusTime', order: 'String' }" @sort-change="handleSortChange" v-model="form" ref="crud" @row-update="rowUpdate" @row-save="rowSave" @row-del="rowDel" @search-change="searchChange" @search-reset="searchReset" @selection-change="selectionChange" @current-change="currentChange" @size-change="sizeChange" @refresh-change="refreshChange" @on-load="onLoad" > <template slot="menuLeft"> <el-button type="primary" size="small" icon="el-icon-delete" plain ref="form" v-model="form" :option="option" @click="handleDelete" > 删除 </el-button> </template> </avue-crud> </basic-container> </el-row> </template> <script> export default { data() { return { column: [ { label: "设备组", prop: "groupId", filters: true, search: true, dicData: [], //清空 // clearable:false, type: 'tree', rules: [ { required: true, message: "请输入设备名", trigger: "blur" } ] } ], form: {}, // 表单数据 query: {}, // 搜索数据 }; }, methods: { handleDelete() { // 获取当前搜索框的值 const groupId = this.query.groupId; console.log(groupId); // 在这里执行删除操作 }, }, }; </script> ``` 在这个示例中,我们在AVue CRUD组件中添加了一个自定义的删除按钮,并将其绑定到`handleDelete`方法。在`handleDelete`方法中,我们可以通过`this.query.groupId`获取当前搜索框的值,并进行相应的操作。请根据实际情况修改代码,并执行适当的删除操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值