解决uni-app中使用webview键盘弹起遮挡input输入框问题

这个平平无奇的回答,可能是全网最靠谱的解决方案。

这里我用的是vue3 setup .vue文件的方式

html 复制代码
<view>
<web-view :fullscreen="false" :webview-styles="{
       top: statusBarHeight+40,
 height:height,
 progress: {
		color: 'green',
		height:'1px' } }"   :src="url"></web-view>
</view>

解决这个问题的核心就在这个height,你不信把这个height去掉问题就解决了,可是会导致底部被遮挡住的问题。解决办法就是键盘弹起的时候把height改成null,放下的时候恢复。

上魔法

javascript 复制代码
import {
		onLoad,
		onShow,
		onReady,
		onUnload,
		onNavigationBarButtonTap,
	} from "@dcloudio/uni-app";
	const width = ref();
	const height = ref();
	const title = ref("标题");
	const ref_webview = ref();
	const statusBarHeight = ref(40)
	onLoad((options) => {
		url.value = options.url;
		let res = uni.getSystemInfoSync();
		width.value = res.screenWidth;
		statusBarHeight.value = res.statusBarHeight;
		height.value = res.screenHeight - statusBarHeight.value - 40;
		
		 uni.onKeyboardHeightChange(onKeyboardHeightChange);
	});
	onUnload(()=>{
		 uni.offKeyboardHeightChange(onKeyboardHeightChange);
	}) 
	//这里是核心
	function onKeyboardHeightChange(res){
		if(res.height==0){
			let res = uni.getSystemInfoSync();
			height.value = res.screenHeight - statusBarHeight.value - 40;
		}else{
			height.value = null
		}
	}

可以到这里下载体验我的app https://aweb123.com

相关推荐
码兄科技3 天前
24小时自助健身房系统软件开发实战指南:功能设计与部署方案
java·spring boot·uni-app
2501_916007473 天前
苹果商店iOS应用上架费用全面解析:开发者计划与审核费用计算
android·ios·小程序·https·uni-app·iphone·webview
2501_916008893 天前
如何实现iOS App代码混淆:SwiftShield使用指南
android·ios·小程序·https·uni-app·iphone·webview
2501_916008893 天前
怎么用 Godot 导出 iOS 应用并上架 App Store?签名字段该填什么?
android·ios·小程序·https·uni-app·iphone·webview
郑州光合科技余经理3 天前
同城外卖小程序开发:下单成功后,后台导出能不能对上用户端状态
开发语言·前端·git·后端·uni-app·php·ai编程
白远山4 天前
城市电竞陪玩调度系统实战:从派单算法到多端协同的架构拆解
java·架构·uni-app·需求分析
白远山5 天前
上海24小时自助健身房系统软件开发实战指南
java·架构·uni-app·需求分析
白远山6 天前
上海24小时自助健身房系统软件开发实战指南:从需求到部署
java·架构·uni-app·需求分析
海鸥两三6 天前
小程序文档预览 · 进阶面试题
小程序·uni-app·uniapp
海鸥两三6 天前
微信小程序 PDF 预览实践(uni.downloadFile → uni.openDocument)
小程序·uni-app