uniapp中uni.setTabBarItem方法在非tabbar页面使用会报错

背景:

uniapp在开发小程序多语言切换功能时,使用uni.setTabBarItem方法切换tabbar语言时报错,查阅文档发现微信小程序该功能只能在tabbar页面或其子页面中使用,不能在其他页面直接使用。

解决:

在tabbar页面中使用onShow方法监听切换语言设置,部分代码示例如下:

<script setup>
import { onShow } from '@dcloudio/uni-app';
import { useI18n } from 'vue-i18n';
const { t } = useI18n();

onShow(() => {
  updateTabBarText();
});

const updateTabBarText = () => {
  uni.setTabBarItem({
    index: 0,
    text: t('tabBar.index')
  });
  uni.setTabBarItem({
    index: 1,
    text: t('tabBar.my')
  });
};
</script>
posted @ 2024-11-12 11:18  Li_pk  阅读(147)  评论(0编辑  收藏  举报