el-table 固定前n行

el-table 固定前n行

  1. 第一种,通过设置前几行粘性布局
<el-table
 :data="tableData2"
  border
  height="calc(98% - 40px)"
  // 设置行样式
  :row-class-name="TableRowClassName"
  @selection-change="handleSelectionChange"
></el-table>


TableRowClassName(row) {
 // console.log("打印row", row.rowIndex);
  // 这个根据自己需要固定的行或者修改样式的条件去判断
  if (row.rowIndex < 2) {
    return "fixed-row"; //添加class样式
  }
}

//固定前两行
::v-deep .el-table tr.el-table__row.fixed-row {
  position: sticky; //粘性定位
  position: -webkit-sticky;
  z-index: 999;
}
::v-deep .el-table tr.el-table__row.fixed-row:nth-of-type(1) {
  top: 0;
}
::v-deep .el-table tr.el-table__row.fixed-row:nth-of-type(2) {
  top: 90px;
}

在这里插入图片描述

  1. 设置两个el-table,第二个表格标题行不显示,缺点是列不一定对齐,需要慢慢调整

ps 如果要配合el-table自动滚动,实现轮播,可搭配另一篇的列表轮播一起设置

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
`el-table`是Element UI库中的表格组件,用于在网页上展示数据列表。在`el-table`中,有一个属性叫做`fixedHeader`,当设置这个属性为`true`时,可以使得表头部分始终保持在视窗顶部不变动,无论用户滚动页面到哪里,表头都固定不动。 ### `el-table`固定第一的功能 当你希望只让表头的第一(即标题固定不动,并允许其他内容自由滚动时,可以利用这个特性。这尤其在数据量较大、需要频繁滚动查看时非常有用,因为固定的表头便于快速定位和理解数据结构。 ### 使用方法: 假设您正在使用Vue框架结合Element UI构建应用,要在`el-table`中添加固定功能,只需在您的模板中对`el-table`元素添加`fixed-header`属性即可: ```html <template> <div> <!-- 其他HTML内容 --> <el-table :data="tableData" border fixed-header> <el-table-column prop="column1" label="列名1"></el-table-column> <el-table-column prop="column2" label="列名2"></el-table-column> <!-- 更多列 --> </el-table> </div> </template> <script> export default { data() { return { tableData: [ // 表格数据数组,每项是一个包含多个属性的对象 ] }; } }; </script> ``` 在这个例子中,通过将`border`和`fixed-header`属性应用于`el-table`标签,你可以得到一个拥有固定顶部表头的表格界面。注意,这里的`border`属性通常用于显示表格边框,但它在这里并非核心原因;关键在于`fixed-header`的使用,实现了固定表头的效果。 ### 相关问题: 1. **如何自定义固定表头的样式**? 可以在CSS中为`.el-table__header-wrapper.is-fixed`类添加样式来自定义固定表头的外观。 2. **为什么固定表头会影响性能**? 当固定表头存在时,渲染整个表格以及处理滚动事件可能会消耗更多资源,特别是在大型数据集的情况下。 3. **在哪些场景下推荐使用固定表头**? 主要是面对长文本内容或大量数据,需要用户能够快速定位到表头信息的情况,如日志记录、历史操作列表等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值