使用uni-app plus.nativeUI.setUIStyle(style)切换主题后 onNavigationBarButtonTap 导航按钮监听失效
使用uni-app plus.nativeUI.setUIStyle(style)切换主题后 onNavigationBarButtonTap 导航按钮监听失效
开发环境 | 版本号 | 项目创建方式 |
---|---|---|
Windows | 11 | HBuilderX |
产品分类:uniapp/App
PC开发环境操作系统:Windows
PC开发环境操作系统版本号:11
HBuilderX类型:正式
HBuilderX版本号:4.45
手机系统:Android
手机系统版本号:Android 14
手机厂商:vivo
手机机型:iqoo neo8
页面类型:vue
vue版本:vue3
打包方式:云端
项目创建方式:HBuilderX
示例代码:
pages.js
{
"path": "pages/index/index",
"style": {
"navigationBarTitleText": "uni-app",
"titleNView": {
"buttons": [{
"text": "菜单",
"float": "right",
"color": "#14699b",
"name": "bars"
}]
}
}
}
index.vue
onNavigationBarButtonTap(ele) {
console.log('================', ele);
const { name } = ele;
switch(name){
case 'bars':
uni.navigateTo({
url: '/pages/index/test2'
})
break;
}
},
切换主题
setUIStyle(style) {
// #ifdef APP
plus.nativeUI.setUIStyle(style)
// #endif
},
更多关于使用uni-app plus.nativeUI.setUIStyle(style)切换主题后 onNavigationBarButtonTap 导航按钮监听失效的实战教程也可以访问 https://www.itying.com/category-93-b0.html
更多关于使用uni-app plus.nativeUI.setUIStyle(style)切换主题后 onNavigationBarButtonTap 导航按钮监听失效的实战教程也可以访问 https://www.itying.com/category-93-b0.html
这是一个已知的uni-app在Android平台上的兼容性问题。当使用plus.nativeUI.setUIStyle()切换主题后,会导致导航栏按钮的点击事件监听失效。
解决方案:
-
最简单的方法是避免在页面中使用plus.nativeUI.setUIStyle()来切换主题,可以改用CSS变量或uni.setNavigationBarColor()来改变导航栏样式。
-
如果必须使用setUIStyle,可以在切换主题后重新设置导航栏按钮:
setUIStyle(style) {
// #ifdef APP
plus.nativeUI.setUIStyle(style);
// 重新设置导航栏按钮
uni.setNavigationBarButton({
index: 0,
text: "菜单",
color: "#14699b"
});
// #endif
}