如何快速实现table固定第一行
固定列这个需求在项目中经常遇到,但是固定行这个需求还是大姑娘上轿 —— 头一回。
关于vxe-table这个插件就不过多介绍了,感兴趣的可以自行搜索。
刚开始看到这个需求的时候,第一想法是插件文档上有没有类似于和固定列一样设置个fixed参数就能解决问题,翻开文档一看,果然,没有这个属性。
怎么办呢?撸起袖子自己干。
在查阅相关资料的时候发现可以通过css能把首行固定,狂喜。。。原来这么简单。赶紧把代码加上,果然,首行固定住了。
代码如下:
position: sticky; top: 0 ; z-index: 1 ;
还没高兴几秒钟,表格一滚动,发现首行的数据会被莫名的替换掉。
经过一番折腾之后,终于发现数据为什么会被替换。原因是使用vxe-table的时候开启了虚拟滚动。把虚拟滚动关了就可以真正实现固定首行了。
关掉虚拟滚动之后,随即而来的问题就是,如果数据量很大的时候,表格性能可能就会受到影响。
总结:使用vxe-table想要实现固定首行,只需要关闭虚拟滚动,再加上上面的三行css代码就可以,当然其他的table组件用上面的代码也是生效的,前提是在不会有虚拟滚动的前提下。(不是最优方案)。