使用到了定位,需要动态的设置导航栏位置信息,因此使用代码如图
lgsh10086
- 发布:2019-07-15 09:45
- 更新:2019-07-16 08:35
- 阅读:980
lgsh10086 (作者)
onLoad() {
let self = this;
let pages = getCurrentPages();
let page = pages[pages.length - 1];
let currentWebview = page.$getAppWebview();
let titleObj = currentWebview.getStyle().titleNView;
let btn = titleObj.buttons[0];
console.log(btn)
//如果没有获取到位置信息,则每300毫秒重试一次
let interval = setInterval(() => {
if (self.currentPosition) {
//开始下拉刷新加载数据
uni.startPullDownRefresh({});
//修改导航栏地址
btn.text = this.currentPosition.address.city;
currentWebview.setStyle({
titleNView:{
"buttons":[btn],
}
})
// currentWebview.setTitleNViewButtonStyle(0, btn[0]);
self.initCity = this.currentPosition.address.city;
if (interval) {
clearInterval(interval)
}
} else {
self.$store.dispatch("mapPosition/reInitLocation");
}
}, 300);
},
你的代码也没写是哪段代码无效了,不过不管怎么样,你的代码写的不合理,不应该用webview.setStyle,那改的东西太多,要用titleObj,参考https://ask.dcloud.net.cn/article/35374
lgsh10086 (作者)
在安卓上监听事件无效,在ios上可以监听,但是调用uni.chooselocation 是白的,无法获取到的位置信息
2019-07-15 10:05