v-infinite-scroll指令用起来还是不错的,可以满足日常需要。有一天,产品经理突然找到我说,页面只能展示第一页,后面的数据都没有。过去看了一下,在不用搜索条件查询的情况下,应该会有很多数据,不能能只有一屏的。底部页面显示“到底”的字样,那么可以肯定的是,代码有bug。
我的天呀,美好的一天就这样被打破了,查吧,毕竟是自己负责的项目,保修是最低的标准吧,好了,玩笑开完了,言归正传。
经过调查,发现是因为在第一屏加载后,内容的高度并没有让容器出现滚动条,这样就不会触发scroll事件继续加载了,这真是一个遗憾的事情。本来我是寄希望element能解决这个问题,我就去看文档了,文档里确实没有提这个事情。
那么我只能自己解决了。解决方法也是很简单的,就是在v-infinite-scroll指定的加载函数中,在数据加载成功后,更确切的说是在新的数据渲染完成后,最好用nextTick,判断容器是否有滚动条,如果没有滚动条就再次调用加载数据的方法,继续加载。
这样问题就解决了。
如果恰巧帮助到你了,请点赞哦:)