uniapp绘制自定义顶部导航

本文详细介绍了一种在页面加载时延迟创建自定义标题栏的方法,通过设置定时器并在回调中调用createView函数来实现。具体步骤包括清除定时器、获取应用WebView、设置标题栏背景、图标和输入框样式,并监听输入框的聚焦、失焦和完成事件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

startCreateView() {
				var me = this;
				me.titleTimer = setTimeout(function() {
					me.createView();
				}, 100); //具体缓迟时间可以按需设置  
			},
			createView() {
				clearTimeout(this.titleTimer);
				var webView = this.$mp.page.$getAppWebview();
				var nTitle = webView.getTitleNView();
				nTitle.draw(
					[{
							"tag": "rect",
							"id": "rect",
							"color": "#f1f2f3",
							"position": {
								"left": "12px",
								"right": "55px",
								"top": "7px",
								"bottom": "7px"
							},
							"rectStyles": {
								"color": "#f1f2f3",
								"radius": "5px",
								"borderColor": "#999"
							}
						},
						{
							"tag": "img",
							"id": "img",
							"src": "/static/index/icon_search.png",
							"position": {
								"left": "20px",
								"width": "14px",
								"height": "14px",
								"top": "15px",
							}
						},
						{
							"tag": "input",
							"id": "input",
							"position": {
								"left": "42px",
								"right": "70px",
								"top": "8px",
								"bottom": "7px"
							},
							"inputStyles": {
								"placeholder": "请输入企业名、人名、品牌、地址等",
								"borderRadius": "5px",
								"borderWidth": "0px",
								"fontSize": "14px",
								"type": "search",
								"color": "#999999",
								onComplete: function(e) {
									console.log('点击搜索执行')
								},
								onFocus: function(e) {
									console.log('获得焦点')
								},
								onBlur: function(e) {
									console.log('失去焦点')
								}
							}
						}
					]
				);
				nTitle.setInputFocusById("input", true);
			},

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

脉脉情缘

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值