el-table排序sort-methods

el-table排序,点击向上向下按钮时,对应列数据排序不正确,所以用以下方法。

在el-column-table中使用sort-methods,并且sortable值为true

模板代码

<el-table
      :data="tableData"
      style="width: 100%"
      :default-sort="{ prop: 'date', order: 'descending' }"
    >
      <el-table-column prop="date" label="日期" :sort-method="sortState" sortable width="180">
      </el-table-column>
      <el-table-column prop="name" label="姓名" sortable width="180">
      </el-table-column>
      <el-table-column prop="address" label="地址" :sort-method="sortaddress" sortable :formatter="formatter">
      </el-table-column>
    </el-table>

tableData: [
        {
          date: "2016",
          name: "23",
          address: "432"
        },
        {
          date: "504",
          name: "43",
          address: "54"
        },
        {
          date: "201",
          name: "54",
          address: "54"
        },
        {
          date: "203",
          name: "76",
          address: "8798"
        }
      ]

js

formatter(row, column) {
      return row.address;
    },
    sortState (a, b) { 
      let a1 = a.date
      let b1 = b.date
      return a1-b1
    },
    sortaddress (a, b) { 
      let a1 = a.address
      let b1 = b.address
      return a1-b1
    }

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要对 el-table 进行排序,你可以使用 el-table 的 sort-method 属性来自定义排序方法。首先,在 el-table 的 column 中设置 sortable 属性为 true,然后在 el-table 标签中添加 :sort-method 属性,并指定一个排序方法。下面是一个示例: ```html <template> <el-table :data="tableData" :default-sort="{prop: 'name', order: 'ascending'}"> <el-table-column prop="name" label="Name" sortable></el-table-column> <el-table-column prop="age" label="Age" sortable></el-table-column> <el-table-column prop="gender" label="Gender" sortable></el-table-column> </el-table> </template> <script> export default { data() { return { tableData: [ { name: 'John', age: 20, gender: 'Male' }, { name: 'Jane', age: 25, gender: 'Female' }, { name: 'Tom', age: 22, gender: 'Male' }, { name: 'Alice', age: 30, gender: 'Female' } ] }; }, methods: { customSort(prop, order) { // 自定义排序方法 this.tableData.sort((a, b) => { if (order === 'ascending') { return a[prop] - b[prop]; } else { return b[prop] - a[prop]; } }); } } }; </script> ``` 在上述示例中,我们通过设置 sortable 属性为 true,使得表格的每一列都可以进行排序。然后,在 el-table 标签中使用 :sort-method 属性,将一个自定义的排序方法 customSort 绑定到 el-table 上。在 customSort 方法中,我们根据传入的 prop 和 order 进行自定义排序。 注意:要使用 el-table 进行排序,你需要在项目中引入 Element UI 组件库,并正确配置。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值