uniapp原生导航栏实现右侧操作按钮显示并动态修改样式

实现效果

在这里插入图片描述①、在pages.json文件中添加以下代码

{
"path": "pages/account/jieshao/jieshao",
"style": {
	"navigationBarTitleText": "个人介绍",
	"navigationBarBackgroundColor": "#F25555",
	"navigationBarTextStyle": "white",
	"enablePullDownRefresh": false,
	"app-plus":{//app端特有属性
		"titleNView":{
			"buttons":[{//右侧操作按钮样式定义,是以数组形式定义,可定义多个
				"color":"#ffffff",
				"fontSize":"24rpx",
				"text":"编辑"
			}]
		}
	}
}
}

②、在jieshao.vue获取操作按钮点击事件并切换文字显示

<script>
export default {
	data() {
		return {
			// 当前页面状态 默认是信息显示页面
			isEditStatus: true,
		};
	},
	methods: {

	},

	// 按钮监听函数
	onNavigationBarButtonTap(e) {//不需要在<view>里面做任何操作,可直接引用
		// 这里用let或者var定义变量都可以
		let rightText = ''
		if(this.isEditStatus){//根据定义Boolean变量值,可多次切换文字
			rightText = '保存'
		}else{
			rightText = '编辑'
		}
		this.isEditStatus = !this.isEditStatus
		const currentWebview = this.$mp.page.$getAppWebview();
		//下面的方法即可修改文字内容及颜色等,e.index就表示修改当前点击按钮样式
		currentWebview.setTitleNViewButtonStyle(e.index, { //h5端会报错
			text: rightText
		});
	}
}
</script>

最终实现效果,点击编辑显示保存,点击保存显示编辑
在这里插入图片描述

更多属性设置可参考uni-app官网
关于app-plus更多介绍

查看流程
在这里插入图片描述
在这里插入图片描述
需要什么内容自己根据api添加属性即可,在代码里修改的时候,在currentWebview.setTitleNViewButtonStyle(e.index, {
//这里面只能写自定义按钮里面的相关属性
text: rightText
});

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值