2021-01-10个人总结

el-table 表格自定义排序 (针对某一列名称进行首字母排序)

首先,先写在 table 某一列写个 sortable="custom",然后在监听 sort-change 方法,具体内容如下:

       <el-table
          :data="tableData"
          style="width: 100%"
          tooltip-effect="dark"
          stripe
          border
          @sort-change="sort_change"
        >
          <el-table-column
            align="center"
            width="150"
            label="名称"
            prop="name"
            show-overflow-tooltip
            sortable="custom"
          >
          </el-table-column>
        </el-table>
export default {
  data() {
    return {
      // 表格数据
      tableData: [
          { name: "兔子" },
          { name: "老鼠" },
          { name: "狮子" },
          { name: "大象" },
      ],
    };
  }, 
  methods: {
     // 自定义排序 排序规则:descending降序、ascending升序
    sort_change(column) {
      if (column.order == "ascending") {
        // 升序
        this.tableData = 
        this.tableData.sort(function compareFunction(
          item1,
          item2
        ) {
          return item1.name.localeCompare(item2.name);
        });
        consle.log(this.tableData)  //  [ { name: "大象" },{ name: "老鼠" },{ name: "狮子" },{ name: "兔子" }]
      } else {
        // 降序
        this.tableData = this.tableData.sort(function compareFunction(
          item1,
          item2
        ) {
          return item2.name.localeCompare(item1.name);
        });
         consle.log(this.tableData)  //  [ { name: "兔子" },{ name: "狮子" },{ name: "老鼠" },{ name: "大象" }]
      }
    },
  }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。