Element 表格排序

2020-12-29 11:41:05 浏览数 (1)

见官网的介绍,在列中设置sortable属性即可实现以该列为基准的排序,可以通过Table的default-sort属性设置默认的排序列和排序顺序。可以使用sort-method使用自定义的排序规则。

代码语言:javascript复制
<template>
  <el-table
    :data="tableData"
    style="width: 100%"
    :default-sort = "{prop: 'date', order: 'descending'}"
    >
    <el-table-column
      prop="date"
      label="日期"
      sortable
      width="180">
    </el-table-column>
    <el-table-column
      prop="name"
      label="姓名"
      sortable
      width="180">
    </el-table-column>
    <el-table-column
      prop="address"
      label="地址"
      :formatter="formatter">
    </el-table-column>
  </el-table>
</template>
代码语言:javascript复制
<script>
  export default {
    data() {
      return {
        tableData: [{
          date: '2016-05-02',
          name: '王小虎',
          address: '上海市普陀区金沙江路 1518 弄'
        }, {
          date: '2016-05-04',
          name: '王小虎',
          address: '上海市普陀区金沙江路 1517 弄'
        }, {
          date: '2016-05-01',
          name: '王小虎',
          address: '上海市普陀区金沙江路 1519 弄'
        }, {
          date: '2016-05-03',
          name: '王小虎',
          address: '上海市普陀区金沙江路 1516 弄'
        }]
      }
    },
    methods: {
      formatter(row, column) {
        return row.address;
      }
    }
  }
</script>

如果增加了一列为年龄,但是后台传过来的数据格式为数字类型的字符串,如”25“这种类型。想按年龄从大到小或者从小到大的顺序排序,这时候只使用sortable并不能正常排序,还要设置:sort-method="handleSort"

代码语言:javascript复制
handleSort(a,b) {
  return a.age-b.age
}

0 人点赞