Element UI version
2.15.14
OS/Browsers version
Windows/Chrome lastest
Vue version
2.7.16
Reproduction Link
https://codepen.io/YagamiNewLight/pen/eYXZvpK
Steps to reproduce
需求很简单:
在一个固定高度的容器中,有两个元素A和B
A的高度可能会动态变化,现在要求让B的高度沾满容器剩余高度
这里的A元素就是一个红框,B元素就是一个饿了么的Table
但是当你开始横向滚动table到最右侧的时候,列头和列表的内容直接就对不齐了
What is Expected?
滚动到最右侧的时候,最后一列的table head和body内容对齐
What is actually happening?
滚动到最右侧的时候,最后一列的table head和body内容没有对齐
2条答案
按热度按时间4uqofj5v1#
Bug原因分析:因为el-table没有传height属性(因为我用css设置成了动态的),导致
导致这里if的逻辑判断失败,this.bodyHeight的值为初始化的空对象,进而导致下面的判断为false,
进而导致这里this.scrollY为fasle,进而由于以下逻辑导致在滚动的时候th的gutter宽度为0,造成了上述bug
建议修复方式:把第一张图里的if判断去掉,这样就能永远根据dom的真实height来判断是否需要此处的gutter,而不是根据用户传没传height来判断
wfauudbj2#
bug复现gif可查看此推特: https://twitter.com/WkZhi/status/1743653498741301358