微信小程序 van-tabs 赋值active失效
时间: 2024-09-20 20:14:56 浏览: 57
微信小程序中的`van-tabs`组件是一个用于展示选项卡内容的控件,当你尝试动态赋值给`active`属性来切换当前选中的标签页时,可能会遇到失效的问题。这通常是因为`van-tabs`组件有自己的生命周期管理和状态管理机制,直接修改`active`属性可能不会立即生效,特别是如果你是在数据变更后再设置的话。
正确的做法通常是通过`wx.setStorageSync`或者`this.setData`等方法来改变对应的选项卡索引,并配合`bindtabs-change`事件监听器,当选项卡内容需要切换时,更新数据并触发视图的渲染。例如:
```javascript
Page({
data: {
activeIndex: 0,
},
onTap(e) {
const newIndex = e.detail.index;
this.setData({ activeIndex: newIndex });
wx.setStorageSync('activeTabIndex', newIndex); // 或者 this.setData
},
onReady() {
let currentActiveIndex = wx.getStorageSync('activeTabIndex') || this.data.activeIndex;
this.setData({ activeIndex: currentActiveIndex });
},
bindTabsChange(e) {
this.onTap(e);
}
})
```
阅读全文