记一个dialog中使用无限滚动v-infinite-scroll的大坑
最近在项目中使用了v-infinite-scroll进行无限加载,然后发现有时能加载有时不能加载,就很离谱。
场景1:在dialog中利用一个子div加上v-infinite-scroll进行无限加载,结果是一下能触发函数,一下不能,然后将项目中的margin改成padding,加上infinite-scroll-distance设置高度后解决了。
场景2:当第一页没有填充满整个页面时,按理来说是会自动请求第二页的,结果当我多次点击关闭同一个dialog时,某次点击过后,dialog就不会自动请求第二页的了,自然也无法进行触底加载,
这个bug产生的原因是缓存的问题,我在dialog里面的div外面套一层template使用v-if同步dialog的控制显示隐藏的参数,将组件销毁重建,这个bug就解决了。