b***@163.com
b***@163.com
  • 发布:2021-03-08 20:47
  • 更新:2021-03-11 20:31
  • 阅读:678

自定义导航栏 按钮文字 修改

分类:uni-app

如果使用pages.json定义导航栏按钮,如下:
"app-plus":{
"titleNView":{
"type":"default",
"backgroundColor":"#FF512F",
"buttons":[
{
"text":"\ue659",
"fontSrc":"/static/uni.ttf",
"float":"right",
"fontSize":"24px",
"width":"35px",
"color":"#FFFFFF"
},
{
"text":"\ue600",
"fontSrc":"/static/uni.ttf",
"float":"right",
"fontSize":"24px",
"width":"35px",
"color":"#FFFFFF"
}
]
}
}
在H5程序下如何修改按钮文字,看了文档,没有找到相应的API呢?App下能解决,但是H5下试了使用常规的DOM操作无法生效

2021-03-08 20:47 负责人:无 分享
已邀请:
口区

口区 -

试一下这个呢

var icon = document.getElementsByClassName('uni-page-head-ft')[0].childNodes[0].childNodes[0];  
icon.innerText = '新的文字';
  • 2***@qq.com

    谢谢提供的思路。你这个方法我这边得到解决了。但是随之而来又是titleNView被更新后事件失效,导致无法最次点击。好,继续填下一个坑去了

    2021-03-10 12:31

2***@qq.com

2***@qq.com - 我叫王乜乜,大家可以叫我王野野,不过我比较喜欢叫王托托,不过我真正叫王大仙!

你这个问题我搞了一天都没搞好。然后我选择了app下用原生,h5 单独css自己写一个,通过条件编译解决。。。
关电脑准备睡觉了才刷到这问题,不知道1楼的方案能不能解决,明天我试下。帖主有其他解决方案麻烦记得回复说下啊。

b***@163.com

b***@163.com (作者)

自问自答一下,我要作的是一个页面地区选择后,返回主页,实现城市切换问题,在App下没问题(微信是自定义导航栏),原意是在主页上uni.$on定义个事件A,地区面选择后自动执行事件A,并把城市传过去,原本想的很简单,H5模式下就用DOM操作下就行了吧,可是DOM居然没法查找到,现在的解决是这样的:
(1)data中定义个currentCity变量;
(2) 在uni.$on挂接的事件中修改这个变量值;
(3)一定在onShow中处理
onShow() {
// #ifdef H5
document.getElementsByClassName('uni-btn-icon')[1].innerText=this.currentCity;
// #endif

    },

该问题目前已经被锁定, 无法添加新回复