x-extends / vxe-table

Vxe table 的表格组件
https://vxetable.cn
MIT License
7.61k stars 1.05k forks source link

表格固定列(fixed="left" or fixed="right")初始化无法正常显示 #256

Closed guaijie closed 5 years ago

guaijie commented 5 years ago

(必填)填写问题描述 Describe the bug

为表格的某一列添加fixed属性时,如果表格最开始为隐藏状态,改变表格为显示状态后,表格中带有fixed列无法正常显示。

(必填)填写能重现问题的链接(jsfiddlecodesandboxjsrun) Reproduction link

重现地址

填写报错信息或截图 Error message or screenshots

(必填)填写期望的结果 Expected behavior

希望能和element-ui一样,即便最开始vxe-table为隐藏状态,在改变状态后依然可以正常显示fixed列

(必填)版本 Version

xuliangzhan commented 5 years ago

219

xuliangzhan commented 5 years ago

230

xuliangzhan commented 5 years ago

这本身属于不合理的渲染;不应该在隐藏的标签中去初始化,这是无法计算宽度的 正常的处理逻辑应该是可视之后再进行渲染,解决方法: 1.通过设置 auto-resize 参数(基于 resize 事件方式必定会有一定的延迟) 2.非正常渲染请在显示之后使用手动调用 recalculate 方法重新计算

guaijie commented 5 years ago

这本身属于不合理的渲染;不应该在隐藏的标签中去初始化,这是无法计算宽度的 正常的处理逻辑应该是可视之后再进行渲染,解决方法: 1.通过设置 auto-resize 参数(基于 resize 事件方式必定会有一定的延迟) 2.非正常渲染请在显示之后使用手动调用 recalculate 方法重新计算

可以看看element-ui,它是可以正确渲染的,我把element-ui的table植入select中是没问题的 element和vxe-table对比

xlz26296 commented 5 years ago

那你为啥不加 auto-resize;el-table 本身就默认有的