uniapp解决iOS切换语言——原生导航栏buttons文字不生效

文章讲述了在uniapp中,如何在tabbar页面的原生导航栏配置中,当切换语言时按钮文字不更新的问题,提供了解决方案:在onShow事件中获取webview对象,使用国际化API重新设置按钮文案。

uniapp 切换语言原生导航栏buttons文字不生效?

效果图

在这里插入图片描述


场景:在 tabbar 页面中,配置 原生导航栏 buttons ,切换语言时,不会实时更新问题。


page.json配置

{
    "path": "pages/index/index",
    "style": {
		"navigationBarTitleText": "%common.index%",
		"enablePullDownRefresh": true,
        "app-plus": {
            "titleNView": {
                "backgroundImage": "linear-gradient(to right, #fe8c00, #f83600);",
                "buttons": [{
                    "text": "%common.devices%",
                    "color": "#fff",
                    "fontSize": "18",
                    "width": 100,
                    "float": "left"
                },
                {
                    "text": "\ue600",
                    "color": "#fff",
                    "fontSize": "26",
                    "width": 60,
                    "float": "right",
                    "fontSrc": "/static/iconfont/iconfont.ttf"
                }
            }
        }
    }
}

解决方式

这里用简单粗暴方式,在 onShow 调用方法,获取当前 webview对象,使用国际化 再次设置 buttons ,以达更新实时文案。欢迎分享其他方案~


let webView = this.$mp.page.$getAppWebview();
webView.setTitleNViewButtonStyle(0, {
    text: this.$t('common.devices')
});
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值