vue将两个el-table上下拼接合成一个展示且横向滚动条联动

将两个结构一样的el-table并列放在一起,下面的table隐藏表头

:show-header="false"

//给两个table 绑定ref属性

  scroll () {
      let table1 = this.$refs.table1.bodyWrapper // 上表格
      let table2 = this.$refs.table2.bodyWrapper // 下表格
      table2.addEventListener('scroll', () => {
        // 滚动监听事件
        table1.scrollLeft = table2.scrollLeft
        this.$nextTick(() => {
       // 表格滚动时有一定概率发生错位
          this.$refs.table1.doLayout()
          this.$refs.table2.doLayout()
        })
      })
     },


//然后隐藏上面子表格的滚动条

<style scoped lang="scss">
  #topTable{
    ::-webkit-scrollbar, ::-webkit-scrollbar-track, ::-webkit-scrollbar-thumb{
      display: none;
    }
  }

</style>
  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue中,如果你想要创建一个嵌套的`<el-table>`组件,你可以这样做来实现表格数据的多层次展示。首先,你需要在父组件中包含子表单,并通过props将数据传递下去。这里是一个简单的例子: ```html <!-- 父组件模板 --> <template> <div> <el-table :data="parentData" border> <!-- 外层表格列定义 --> <el-table-column prop="name" label="姓名"></el-table-column> <el-table-column prop="children" label="子表"> <!-- 子表组件 --> <el-table v-for="(childRow, index) in parentData.children" :key="index"> <template slot-scope="scope"> <child-table :data="childRow"></child-table> </template> </el-table-column> </el-table-column> </el-table> </div> </template> <script> import ChildTable from './ChildTable.vue'; // 假设这是子表组件 export default { components: { ChildTable }, data() { return { parentData: [ { name: 'A', children: [{ name: 'A1' }, { name: 'A2' }] }, { name: 'B', children: [{ name: 'B1' }] } ] }; } }; </script> ``` 在这个例子中,`parentData`是一个数组,每个元素都有一个`name`属性和一个`children`属性,后者也是一个数组,表示这个元素下的子元素。然后在`<el-table-column>`中,我们使用了v-for循环遍历外层数据的`children`属性,动态渲染出内层的`<el-table>`。 **注意:** 1. `ChildTable.vue`是你需要自定义的一个子组件,通常它会有自己的`<el-table>`和处理子数据的方式。 2. 这里假设`<child-table>`已导出并导入到父组件中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值