解决ElementUI的Table组件固定列,在屏幕刚好够表格显示时,会出现固定列显示不全的问题
2017-11-16 13:52
3879 查看
在使用ElementUI的Table组件中的固定列时,发现当表格刚好显示全,处于临界值状态时,固定列的高度(height)会于表格高度不一致,导致固定列显示不全,出现垂直滚动条。
如上图所示,现在表格下方是未出现水平滚动条的,处于表格宽度刚好够显示所有字段的临界值,固定列出现了高度变小的情况,导致显示不全。
上图为检查元素找到的固定列的DOM元素,固定列的DOM元素是独立于表格body的,所有在开发代码中,给该列设置任何class或style是无法添加在固定列这个DOM元素上的。从这个DOM元素可以看到style元素设置了width和height,这个元素是ElementUI生成表格时,生成的DOM元素,且设置了宽高。
从Chrome检查元素,修改height为100%时,可以看见固定列显示不全的问题就已解决。
所以,解决方案就放在设置这个固定列的height上了。
从DOM树上看到,table组件还有哈希值的。(vue的每个组件有一个对应的哈希值),而固定列上是没有哈希值的,所以固定列是不在我们编码的单个组件上的,而是把table看作一个子组件,而固定列就在table这个子组件上,直接通过class选择器修改子组件的css样式是没用的,要通过\deep\修饰。
最后,通过给table设置calss:table-fixed
再通过css选择器进行样式穿透
.table-fixed {
/deep/ .el-table__fixed-right {
height: 100% !important; //设置高优先,以覆盖内联样式
}
}
这样就解决了这个问题。
如上图所示,现在表格下方是未出现水平滚动条的,处于表格宽度刚好够显示所有字段的临界值,固定列出现了高度变小的情况,导致显示不全。
上图为检查元素找到的固定列的DOM元素,固定列的DOM元素是独立于表格body的,所有在开发代码中,给该列设置任何class或style是无法添加在固定列这个DOM元素上的。从这个DOM元素可以看到style元素设置了width和height,这个元素是ElementUI生成表格时,生成的DOM元素,且设置了宽高。
从Chrome检查元素,修改height为100%时,可以看见固定列显示不全的问题就已解决。
所以,解决方案就放在设置这个固定列的height上了。
从DOM树上看到,table组件还有哈希值的。(vue的每个组件有一个对应的哈希值),而固定列上是没有哈希值的,所以固定列是不在我们编码的单个组件上的,而是把table看作一个子组件,而固定列就在table这个子组件上,直接通过class选择器修改子组件的css样式是没用的,要通过\deep\修饰。
最后,通过给table设置calss:table-fixed
再通过css选择器进行样式穿透
.table-fixed {
/deep/ .el-table__fixed-right {
height: 100% !important; //设置高优先,以覆盖内联样式
}
}
这样就解决了这个问题。
相关文章推荐
- 网页表格表头固定并可以自由拉伸列头的问题解决 (完美方案_html_table_seo)
- 解决tableView无数据时还显示横线及线条显示不全问题
- 固定宽度下拉列表中option内容显示不全问题解决方法
- html固定宽度下拉框内容显示不全问题解决方法
- 暂时解决了Android webview组件中显示SVG自适应屏幕问题
- 固定宽度下拉列表中option内容显示不全问题解决方法
- 固定宽度下拉列表中option内容显示不全问题解决方法
- ics 解决第一次开机屏幕壁纸显示不全的问题
- 固定宽度下拉列表中option内容显示不全问题解决方法
- 在绘制界面时ScrollView显示不全超出屏幕的组件--解决
- table表格合并列的问题,在IE中能够正常显示,但是在火狐中,好像colspan没有起作用一样,解决办法!!!!
- html固定宽度下拉框内容显示不全问题解决方法
- html固定宽度下拉框内容显示不全问题解决方法
- 固定宽度下拉列表中option内容显示不全问题解决方法
- 解决IE8固定宽度下拉列表中option内容显示不全问题
- 固定宽度下拉列表中option内容显示不全问题解决方法
- 解决ScrollView里嵌套多个RecyclerView时,RecyclerView数据显示不全的问题
- 解决CSDN博客文章 保存网页到本地后,页面显示不全的问题
- 解决TSVN的diff显示中文件不全的问题
- RecyclerView使用时,解决Item显示不全问题