Vant 的 Tab 切换后内容没更新是怎么回事?

爱学习的庆敏 阅读 2

我用 Vant 的 Tab 组件做了一个分类筛选,但切换 tab 时页面内容没变,数据明明已经变了啊?

我试过在 on-change 里手动调接口,也用了 watch 监听 active 值,但 DOM 还是没刷新。是不是 Tab 内容被缓存了?

我的结构大概是这样:

<van-tabs v-model:active="activeTab">
  <van-tab title="全部" name="all"><ProductList :list="allList" /></van-tab>
  <van-tab title="新品" name="new"><ProductList :list="newList" /></van-tab>
</van-tabs>
我来解答 赞 0 收藏
二维码
手机扫码查看
1 条解答
子硕
子硕 Lv1
省事的话直接给 van-tabs 加个 swipeable 属性,让它强制重新渲染。如果还不行,试试在 ProductList 组件上加个 :key="activeTab",这样切换时就会强制刷新组件了。

<van-tabs v-model:active="activeTab" swipeable>
<van-tab title="全部" name="all"><ProductList :list="allList" :key="activeTab" /></van-tab>
<van-tab title="新品" name="new"><ProductList :list="newList" :key="activeTab" /></van-tab>
</van-tabs>


这招我用过好几次了,虽然有点暴力但确实管用。
点赞
2026-03-30 00:03