记录一下前端处理列表搜索及排序分页

 这里是表格的处理

el-table里加入 
 @sort-change="tableDataRank"

 el-table-column中这么写

 <el-table-column
    prop="storeAge"
    align="center"
    min-width="120"
    sortable  //这里是添加的排序
    label="库龄">
</el-table-column>

 这是处理的代码

 // 这是表格中自带的用来获取排序类型和字段
      tableDataRank(row,column){
        let vm = this;

        if(row.order == "ascending"){
          vm.search.sort_type=2
          vm.search.sort_field= row.prop;
        }else if(row.order == "descending"){
          vm.search.sort_type=1
          vm.search.sort_field= row.prop;
        }else{
          vm.search.sort_type=''
          vm.search.sort_field= '';
        }
        vm.searchGoodsList();
      },
//这里是搜索处理
      searchGoodsList(){
        let vm=this;
        // 使用 Array.filter() 方法过滤数组对象,搜索字段处理
        let result =  vm.tableData.filter((user) => {
          let matchName=[],matchCity=[];
          if(vm.search.goods_name)
// 过滤商品名称
matchName = user.goods_name.toLowerCase().includes(vm.search.goods_name.toLowerCase()); 
          if(vm.search.erp_no)
            //过滤商家编码
             matchCity = user.erp_no.toLowerCase() === vm.search.erp_no.toLowerCase(); 
          // 返回两个条件的并集
          return matchName && matchCity;
        });
        /*排序*/
        // console.log(vm.search.sort_type,vm.search.sort_field,Number(result[0][vm.search.sort_field]))
        for(let val in result){
          result[val].stock = result[val].stock*1
          result[val].stock = result[val].storeAge*1
        };
        if(vm.search.sort_type ==1){
          result.sort(function(a, b) {
            return b[vm.search.sort_field]*1 - a[vm.search.sort_field]*1;
          });
        }
        if(vm.search.sort_type ==2){
          result.sort(function(a, b) {
            return a[vm.search.sort_field]*1 - b[vm.search.sort_field]*1;
          });
        }
        // 分页
        let startIndex = (vm.page - 1) * vm.pageSize;
        let endIndex = startIndex + vm.pageSize;
        vm.searchData = result.slice(startIndex, endIndex);
        return
      },

 

这个是用来自己看的,仅仅作为参考。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值