开发工具:稳定版 Stable Build 1.03.2011120
操作系统:windows 7 64位
手机:魅族 m1
微信:7.0.21
需要在小程序中使用Vant Weapp,因此在Vant提供的demo源码中用自定义tabBar方式引入,目前模拟器运行正常,但真机调试时,手机端白屏,PC端不显示tabBar,控制台报错“Cannot read property 'setData' of null”,搜索也没找到原因,大家帮看看是哪里的问题?
为了激活首页的tabBar标签,在index.js文件的onload最后加了setData,不知是不是这个原因
onLoad: function() {
const { checkedGoods, goods } = this.data;
const submitBarText = `结算`;
const totalPrice = goods.reduce(
(total, item) =>
total + (checkedGoods.indexOf(item.id) !== -1 ? item.price : 0),
0,
);
goods.forEach(item => {
item.formatPrice = (item.price / 100).toFixed(2);
});
this.setData({
totalPrice,
submitBarText,
goods,
});
// 在页面的onLoad周期设置对应的活跃tabbar项
this.getTabBar().setData({
// CURRENT_ACTIVE_TABBAR: 常量, 当前页面对应的活跃tabbar项
"tabbars.active": 0
});
},
模拟器效果
真机调试PC端效果
真机调试手机端效果
getTabBar 方法只能在component中调用