AVUE表单切换标签页错位问题

开发中遇到一个问题,如果设置了有些冻结列(固定列)avue框架写的avue-crud在页面标签切换之后发现表格错位,如图:

 

解决方法:

  1. 在activated方法里refreshTable()这个curd或者doLayout().。缺点:每次进入会明显看到刷新一下跳一下
    activated() {
       this.$nextTick(() => {
          this.$refs.crud.refreshTable()
        })
      },
  2. 在activated方法里获取到表头的高度再复制给fix部分的top。缺点:因每次active设置top所以窗口大小改变不会改变固定列的位置还是会错位
    activated() {
        await this.getallData()
        if (document.getElementsByClassName('el-table__fixed-header-wrapper')[0].offsetHeight) {
          this.listHeight = document.getElementsByClassName('el-table__fixed-header-wrapper')[0].offsetHeight + 'PX'
          document.documentElement.style.setProperty('--fixed-left-top', this.listHeight)
        }
       
      },
    //css
    .el-table__fixed-body-wrapper {
       top:var(--fixed-left-top,"40PX") !important;
    }
  3. 终极解决办法:avue的option里的column全部设置width或者minwidth就好了
           //xml 
            
<avue-crud
                            :data="reportShowList"
                            :option="reportOption"
                            :page.sync="query"
                            @current-change="currentChange"
                            @size-change="sizeChange">
                            <template slot="caozuo" slot-scope="scope">
                                <div style="display: flex; justify-content: center;">
                                    <el-button size="small" icon="el-icon-edit" @click="editType(scope)" >{{ $t('编辑') }}</el-button>
                                    <el-button size="small" icon="el-icon-delete" @click="deleteType(scope)">{{ $t('删除') }}</el-button>
                                </div>
                            </template>

                        </avue-crud>
//data
 reportOption: {
        height: this.tableheight,
        border: true,
        headerAlign: 'center',
        align: 'center',

        header: false,
        stripe: true,
        addBtn: false,
        index: true,
        menu: false,
        indexLabel: '序号',
        indexWidth: 100,
        column: [
          {
            label: '名称',
            prop: 'name',
            // width: 180,
            minWidth: 460,
            fixed: true
          },

          {
            label: '组件顺序',
            minWidth: 460,
            prop: 'contentZh'
          },

          {
            label: '最后更新时间',
            minWidth: 460,
            // width: 180,
            prop: 'updateTime'
          },
          {
            label: '操作',
            minWidth: 460,
            // width: 180,
            prop: 'caozuo'
          }
        ]
      },

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值