el-table固定底部合计行

el-table想要设置底部合计行方法有很多,比如它自带的有一个show-summary属性,可以自动计算合计行并固定在底部,这确实很省事,但是这个属性并不能解决特定需求的问题,而且当表单数据量大的时候,每次请求表单都要计算合计行,也会影响性能,因此在大部分开发过程中,合计行都是通过后端返回的,我们需要做的是,如何将合计行固定在底部即可!

// 在el-table标签这里使用row-class-name这个属性!
<el-table
    v-loading="loading"
    height="100%"
    border
    :data="tableData"
    :row-class-name="tableRowClassName"
>



// methods里写下这个方法tableRowClassName
tableRowClassName(row_params) {
    let { row } = row_params
    if (row.name == '总计') {
        // 找到总计那一行,然后单独给这行加类名!
        return `tr-fixed fixed-row`
    } else {
        return ``
    }
}



// style部分
::v-deep .el-table {
  .tr-fixed {
    display: table-row;
    position: sticky;
    bottom: 0;
    width: 100%;
    td {
      border-top: 1px solid #f3f5fa;
      background: #fff;
    }
  }
  .fixed-row {
    bottom: 0;
  }
}

其原理很简单,就是通过控制合计行的css,让它固定在底部,而且还可以随意设置它的style,这里还考虑到了有固定列的情况。同理你可以随意控制,不仅仅是要求在底部,也可以任意位置,不仅仅要求是合计行,也可以控制任意行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值