本文介绍: 之前有试过绑定的key为随机生成数,但是抖动问题在我这里并没有得到解决,随后将key置为固定的数值就彻底解决了这个抖动的问题,希望可以帮助到大家。计算的列宽,并且有 v–if 或 v–show 来控制表格某一列的展示与隐藏,所以切换tab或者触发点击事件时使表格会被重新加载计算,从而出现抖动的现象。页面渲染出表格以及表格中的所有内容,当触发表格中的自定义点击事件或者切换tab页时,表格里面的单元格和内容行就会发生左右或者上下抖动。由于表格中的 el–table 没有采用固定列宽,而是采用。
el–table中出现的抖动问题
为了提高项目中组件的复用性,一般我们都会使用 v–if 或 v–show 加在 el–table–column 上来实现不同场景下页面内容的展示
现象描述
页面渲染出表格以及表格中的所有内容,当触发表格中的自定义点击事件或者切换tab页时,表格里面的单元格和内容行就会发生左右或者上下抖动
问题寻源
由于表格中的 el–table 没有采用固定列宽,而是采用动态计算的列宽,并且有 v–if 或 v–show 来控制表格某一列的展示与隐藏,所以切换tab或者触发点击事件时使表格会被重新加载计算,从而出现抖动的现象
解决方法
beforeUpdate() {
this.$nextTick(() => {
this.$refs.table.doLayout()
})
}
<el-table ref="table" :data="list">
<el-table-column
show-overflow-tooltip
prop="account"
:label="$global.user_center.account"
align="center"
min-width="130"
v-if="showAccount"
:key="1">
<template slot-scope="scope">
{{ scope.row.account || '--' }}
</template>
</el-table-column>
<el-table-column
prop="name"
:label="$global.user_center.name"
v-if="showName"
:key="2">
<template slot-scope="scope">
{{ scope.row.name|| '--' }}
</template>
</el-table-column>
</el-table>
!注意:之前有试过绑定的key为随机生成数,但是抖动问题在我这里并没有得到解决,随后将key置为固定的数值就彻底解决了这个抖动的问题,希望可以帮助到大家。
原文地址:https://blog.csdn.net/qq_44833124/article/details/129166586
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_34920.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。