vant tab使用循环动态加载,tab中内容也是个公共列表组件,在切换tab页签时列表组件内容的加载串在一起了,应该如何解决

发布于 2022-09-12 03:18:29 字数 1332 浏览 22 评论 0

vue移动端项目,代码如下:

<van-tabs v-model="active" :swipeable="true" @change="tabChange" \>  
<van-tab v-for="tab in tabList" :title="tab.name" :name="tab.uuid" :key="tab.uuid"\>  
 <list-news :listType="active"\></list-news>  
</van-tab>  
</van-tabs>

tab标签是动态加载的,里面的list-news是想用一个公共列表组件,但是问题出现在切换页签后上拉加载更多列表内容时,获取数据后这个公共列表组件不能自己按各自页签区分,等同于各页签再同时使用这一个list组件,似乎是有缓存的问题, 下面是list组件的代码:

<van-pull-refresh v-model="refreshing" @refresh="onRefresh" :success-duration="1000" loading-text="正在刷新,请稍后" :success-text="successText">  
 <van-list v-model="loading"  
  :finished="finished"  
  finished-text="没有更多了"  
  loading-text=""  
  @load="onLoad"  
  :offset="10"  
>  
 <van-cell v-for="item in listData" :key="item.uuid" @click="getDetail(item)">  
  <template> 
   <div class="van-cell-image" v-if="item.pic">  
    <img :src="item.pic" alt=""\>  
   </div> 
   <div class="van-cell-title">  
    <div class="title">{{item}}</div>   
   </div> 
  </template> 
 </van-cell> 
  </van-list> 
 </van-pull-refresh>

也看了相关的demo示例,问题在于我这里tab是根据后台数据动态循环加载的,tab中的列表内容因为样式完全一样所以也想用一个公共组件并根据不同tab类型来获取各类频道的列表数据,如此比较灵活,而示例中一般都是静态固定tab页签对应固定的内容,没有找到合适的解决办法。。。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

四叶草在未来唯美盛开 2022-09-19 03:18:29

上拉加载,有几个tab 请求几次接口的问题。是数据缓存的问题 每切换需要 清空 listData 重置 page = 1 应该是可以的

这样就不能多个缓存了 能说说你解决的思路吗?

谢谢

清欢 2022-09-19 03:18:29

请问楼主解决了吗,我现在也碰到这个问题,还望帮忙解答,谢谢!!

何止钟意 2022-09-19 03:18:29

请问楼主解决了吗?求教

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文