问题:
当通过v-show隐藏的el-table再度显示的时候,el-table中的内容的部分高度显示异常,比正常的小;
描述:
在一个组件中,有两个互斥的组件,一个是一张el-table实现的表格,表格中有一个详情按钮,另一个是详情按钮对应的页面,当点击表格中详情按钮后,表格组件隐藏,详情组件显示,之后再通过详情中的返回按钮,将表格显示,详情隐藏;
现在的问题是,如果表格组件使用的是v-if渲染的,那么table是一切正常的,如果使用的是v-show那么table显示的时候外框高度正常,表头正常,但是内部的表格部分高度变小了;
解决:
原因未知,尚未解读源码部分,有人说是el内部的BUG导致的,解决办法是固定表头的高度,表格部分通过calc减去表头的高度实现:
比如类似下例,固定表头高度48px,wrapper通过calc减去48px实现
.user-info-table{
.el-table__header-wrapper{
height: 48px;
}
.el-table__body-wrapper{
height: calc(100% - 48px) !important;
}
}