vant-list当页面出先滚动条时会重复加载数据的问题解决

1 篇文章 0 订阅

vue 3.0 typescript vant.

1.单个界面刷新没问题:排除组件初始化调用问题
2.主界面滚动条在顶部则不会影响,当主界面下拉时,滚动条位置会影响子界面。
3.问题:
    主界面滚动条会影响子界面滚动条
    1.跳转前滚动条归为0,无效
    2.使用Router的scrollBehavior返回top:0,无效。    
    3.跟踪发现,scroll事件注册之前和注册之后包括函数被触发时window.scrollY均为0,说明scroll没有被变化,需要找出何时调用了window的scroll事件。
    4.跟踪check函数,发现是window自触发scroll事件???????
    5.只有跳转界面时才会出现该问题:问题出在路由?????
    6.咨询https://github.com/vuejs/vue-router/issues/3424得知是router的特性,跳转后维持滚动条不变主动触发scroll事件,说是可以通过初始界面START_LOCATION判断是否执行,使用的vant。。
    7.返回在vant提个bug(相对来说),https://github.com/youzan/vant/issues/7786作者反馈需要自己判断路由当前位置,判读个锤子,要判断当前界面是否是START_LOCATION,而且滚动条位置还不能为0.

4.最终处理方案:

           1.vant-list使用v-if 首次加载完成后设为true,达到延迟加载的目的,忽略第一次的scroll调用。

            2. 二次封装vant-list ,首次加载判断是否有tochmove....

 

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值