vue项目表格中文排序----字符串金额排序

vue项目中文排序----字符串金额排序

中文排序

el-table中添加sort-change事件,当表格的排序条件发生变化的时候会触发该事件;
el-table-column中添加sortable=“custom”
在这里插入图片描述

 <!-- 内容展示 -->
      <el-table
        @sort-change="onSortChange"
        stripe
        :data="list"
        border
        :row-style="{ height: '30px' }"
        :cell-style="statusStyle"
      >
        <el-table-column
          prop="name"
          label="姓名"
          sortable="custom"
          :show-overflow-tooltip="true"
          width="90"
        >
        </el-table-column>
 </el-table>
js
methods: {
// 名字中文排序
    onSortChange({ prop, order }) {
      console.log(prop)
      if(prop == 'name'){
        this.list.sort(this.compare(prop, order));
      }
      
    },
    compare(propertyName, sort) {
      return function (obj1, obj2) {
        var value1 = obj1[propertyName];
        var value2 = obj2[propertyName];
        if (typeof value1 === "string" && typeof value2 === "string") {
          const res = value1.localeCompare(value2, "zh");
          return sort === "ascending" ? res : -res;
        } else {
          if (value1 <= value2) {
            return sort === "ascending" ? -1 : 1;
          } else if (value1 > value2) {
            return sort === "ascending" ? 1 : -1;
          }
        }
      };
    },
 }

字符串金额排序
字符串转换成Number类型
添加 :sort-method=“sortDevName”
在这里插入图片描述

   <el-table-column
        prop="totalAmt"
        label="金额"
        sortable
        :sort-method="sortDevName"
        width="100"
        :show-overflow-tooltip="true"
      >
   </el-table-column>
//金额排序
    sortDevName(str1, str2) {
      let num1 = Number(str1.totalAmt)
      let num2 = Number(str2.totalAmt)
      return num1 - num2
    },
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值