• 2
  • 新人请关照

elementui表格如何从第二行开始排序

图片描述

第一行自定义了总计,排序时会受到影响,如何排除第一行从第二行开始排序?

阅读 741
评论
    3 个回答

    序号自定义吧,不用自带的

      可以使用sort-method或者sort-by使用自定义的排序规则

        • 2
        • 新人请关照

        设置:sortable=“custom
        监听Table的sort-change事件 @sort-change="sortChange"

        sortChange(column) {
            // 表格数据
            let tableData = this.tableData
            // 第一行的自定义总计
            const summary = tableData[0]
            const fieldName = column.prop
            const sortingType = column.order
            if (sortingType === 'descending') {
              // 点击选择'降序'时,总计必定在第一行,所以不用管
              tableData = tableData.sort((a, b) => b[fieldName] - a[fieldName])
            } else {
              // 点击选择'升序'时,总计在最后一行,先删掉最后一行的总计,然后再unshift到第一行
              tableData = tableData.sort((a, b) => a[fieldName] - b[fieldName])
              tableData.splice(tableData.length - 1, 1)
              tableData.unshift(summary)
            }
        }

        大概这样的思路

          撰写回答

          登录后参与交流、获取后续更新提醒