{ "path":"pages/log/log", "style": { "navigationBarTitleText":"hello", "app-plus": { "titleNView": { "buttons": [{ "text":"","fontSize":"22px",
"width":"50px" }] } } } }
页面监听
onNavigationBarButtonTap() { console.log("点击了自定义按钮"); }
// #ifdef APP-PLUS var webView = this.$mp.page.$getAppWebview(); // 修改buttons // index: 按钮索引, style {WebviewTitleNViewButtonStyles } webView.setTitleNViewButtonStyle(0, { text: 'hello', }); // 修改按钮上的角标 // index: 按钮索引, text: 角标文本内容 webView.setTitleNViewButtonBadge({ index: 0, text: 10, }); // 设置 searchInput的 focus // focus: true | false webView.setTitleNViewSearchInputFocus(true) // 设置 searchInput的 text webView.setTitleNViewSearchInputText(text) // searchInput 通过 webview 的 setStyle 方法进行更新 var tn = currentWebview.getStyle().titleNView; if (tn.buttons) { uni.getSystemInfo({ success:function(res){ if (res.platform=="ios") { // 这里在HBuilderX 1.9.9版本有个bug,searchInput的I变小写了 ,临时绕过下。更高版本会修复此bug tn.searchinput.placeholder = 'test'; currentWebview.setStyle({ titleNView: tn }); } else{ tn.searchInput.placeholder = 'test'; //这里有个已知bug,HBuilderX 1.9.9上,当searchInput位于首页时,动态设置placehold会导致buttons的点击事件消失。更高版本会修复此bug currentWebview.setStyle({ titleNView: tn }); } } }) } // #endif
// 修改导航栏信息
onReady() { let buttons = '按钮' //buttons = '\ue670' 如果是字体图标需要引入ttf文件 // #ifdef APP-PLUS var currentWebview = this.$mp.page.$getAppWebview(); console.log(currentWebview) var tn = currentWebview.getStyle().titleNView; tn.buttons[0].text = buttons; //[0] 按钮的下标 currentWebview.setStyle({ titleNView: tn }); // #endif }