ant design vue table 排序

背景:官方和网上的例子都很简单,实际项目开发中比较的一般都是对象数组,且属性值不一定全为数值,有可能为字符串,比如某个数据没有值,默认显示字符串:"--"

需求:降序或者升序无数值的在最后面显示

开发步骤:

(1)HTML:<a-table @change='compare'  :columns='columns'>

(2)methods:

compare(pagination, filters, sorter, { currentDataSource }) {
      this.order = sorter.order 
      },
(3)data:
order:"",
columns :[
      {
        title: "序号",
        dataIndex: "id",
        key: "id",
      },
      {
        title: "站点信息",
        dataIndex: "station",
        key: "station",
      },
      {
        dataIndex: "",
        slots: { title: "current_data_type_name" }, //标题,current_data_type_name为变量
        scopedSlots: { customRender: "name" }, //用于每行数据显示
        sorter: (a, b) => {
          let an = isNaN(parseFloat(a[this.current_data_type])) ? (this.order === 'descend' ? -99999999: 9999999): a[this.current_data_type]
          let bn = isNaN(parseFloat(b[this.current_data_type])) ? (this.order === 'descend' ? -99999999: 9999999): b[this.current_data_type]
          return an - bn
        },
      },
    ];

//this.current_data_type标识对象的key

posted @ 2021-08-05 14:20  赵辉Coder  阅读(1707)  评论(0编辑  收藏  举报