element-ui 表格吸底固定最后一行

8 篇文章 0 订阅
2 篇文章 0 订阅

element-ui中表格只有固定表头以及列的方法,找遍了文档也没有固定行的方法。

于是自己些了样式。

首先需要用到css中的属性position: sticky;参考我另一篇关于css实现吸顶吸底的文章。

<el-table :data="tableData" style="width: 100%;" height="79%" stripe
            :row-class-name="rowClass"
            class="tableStyle tableRadius mt10">
                <template v-for="(item,i) in tableHeader">
                    <el-table-column  :key="i" :label="item.label" :prop="item.prop" show-overflow-tooltip></el-table-column>
                </template>
            </el-table>

设置表格高度后,给需要吸底的行设置定位,我这里固定的是合计行,设置了class。

需要注意:如果 tr 不设置 display:inline-block ,将不能实现吸底。

另外td需要设置边框,吸底后td会没有边框,整体的行会比前面未固定的行短,正好是每个td的1px边框。

rowClass({row, column, rowIndex, columnIndex}){
      if(row.startTime == '合计:') {
          return 'fixed-row'
      }
  }
.tableStyle {
  
  .el-table__body {
    // 吸底
    .fixed-row{
        display: inline-block;
        position: sticky;
        bottom: 0;
        width: 100%;
        td{
          border: 1px solid #fff;
          box-shadow: 2px -2px 3px 0px #ddd;
        }
    }
  }

效果如下:

 

tips:如果设置吸底行的样式只会对行内第一个td生效,所以如果有需要可以设置所有td的样式。我设置的阴影就是设置了td的阴影

  • 6
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值