uni-app中webView下自定义导航
参考博客: https://dandelioncloud.cn/article/details/1609872435337969666
https://blog.csdn.net/endianzhijia/article/details/87883346
<template>
<view>
<web-view :src="url"></web-view>
</view>
</template>
如上图所示,添加了web-view,但是需要自定义导航,点击按钮跳转到对应页面。
上述博客介绍了两种方法,不做赘述,仅代码记录,以后续参考。
第一种配置化
page.json中配置如下,
{
"path": "pages/greencenter/eCar",
"style": {
"navigationBarTitleText": "",
"enablePullDownRefresh": false,
// "navigationStyle": "custom"
"app-plus": {
"titleNView": {
"buttons": [ //原生标题栏按钮配置,
// {
// "type": "back", //这就是 1 部分的返回按钮
// "float": "left", //这个我相信大家都能看懂吧。
// "fontSize": "20px"
// },
{
"type": "close", //这是 2部分的三个菜单点点
"float": "right"
// "fontSize": "20px"
}
]
}
}
}
}
页面监听自定义的按钮,
onNavigationBarButtonTap(e) {
if (e.type == 'close') {
uni.switchTab({
url: '/pages/greencenter/index'
})
//点击菜单按钮执行的代码
} else {
//点击返回按钮执行的代码
}
},
第二种代码配置
在pages/greencenter/eCar页面中直接在OnLoad中添加如下代码,
// #ifdef APP-PLUS
const pages = getCurrentPages()
const page = pages[pages.length - 1];
const currentWebview = page.$getAppWebview()
currentWebview.setStyle({
titleNView: {
buttons: [{
float: 'right',
type: 'close',
onclick: function() {
uni.switchTab({
url:'/pages/greencenter/index'
})
}
}]
}
})
// #endif
如下所示,左边是进入web-view的自带的回退按钮,一级级退出页面。
右边是自定义按钮,直接跳转到/pages/greencenter/index这个tab。