好吧,又碰到個小坑,分享下,由于我的項目是多語言是以需要動态切換tabBar文字,話不多說上代碼。
uni.setTabBarItem({
index: 3,
text: “多語言”,
success:function(res){
console.log(res)
}
})
當你随意把這個東西扔到函數裡面或者app.vue裡面時,這時候坑就來了,發現根本不起左右,或者說隻有重新整理才起作用,由于uniapp他不像h5點一下就重新整理一下,是以如果你是在tabbar界面使用就放在onshow裡,點選就會顯示,但是如果想同時改變全部tabbar的文字這就需要寫在全局了。
created: function() {
uni.$on('setTabBarItem', res => {
uni.setTabBarItem({
index: 0,
text: this.$translationMain('線上'),
success: function(res) {
console.log(res)
}
})
uni.setTabBarItem({
index: 1,
text: this.$translationMain('聊天'),
success: function(res) {
console.log(res)
}
})
uni.setTabBarItem({
index: 2,
text: this.$translationMain('發現'),
success: function(res) {
console.log(res)
}
})
uni.setTabBarItem({
index: 3,
text: this.$translationMain('我的'),
success: function(res) {
console.log(res)
}
})
})
}
可以看出我是寫在了App.vue裡,然後在修改語言的時候調用下uni.$emt(‘setTabBarItem’)就可随時切換了。