iview的表格更新表头保持排序字段状态、手动重置排序字段状态

前提:vue2、view-design 4.7.0

问题:要实现通过切换不同的选项,表格可能新增或删除某几个字段列,除了这几个字段不可排序,其他字段皆可切换排序。实现后发现,重新渲染表头后原本排序的表头字段没有高亮排序图标,导致表格数据接口的排序传参与展示不一致。

解决:手动设置表头字段的排序状态。

需要使用 sortType 参数,iview的表头排序通过sortType判断。可查看iview官网字段说明。具体实现如下:

// 表格字段-columns 排序字段-sortKey 排序方式-sortType
this.columns.forEach((item) => {
    if(item.key === this.sortKey) {
        item.sortType = this.sortType;
    }
})

扩展:新增需求——在某一情形下需手动重置表格的排序。

实现:1. 重置排序相关变量; 2. 给table组件手动设置 key值,重置时改变key值变量。3. 由于之前手动设置了表头数据的sortType,因此在这里需要复原sortType参数。具体实现如下:

this.sortKey = '';
this.sortType = '';
this.columns.forEach((item) => {
    if(item.sortType) {
        item.sortType = '';
    }
})
// 表格key值
this.tableKey += 1;

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值