解决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

相关推荐
2501_9151063218 小时前
深入解析无源码iOS加固原理与方案,保护应用安全
android·安全·ios·小程序·uni-app·cocoa·iphone
万能小林子19 小时前
2026 AI开发新范式:Vibe Coding生成网页 + 3分钟打包成App,非技术人也能独立发布自己的App!
人工智能·uni-app·ai编程·web app·vibecoding
一颗小青松21 小时前
uniapp 集成友盟并且上传页面路径
前端·vue.js·uni-app
00后程序员张2 天前
HTTPS单向认证、双向认证、抓包原理与反抓包策略详解
网络协议·http·ios·小程序·https·uni-app·iphone
h_65432102 天前
uniapp-APP端获取拍照时的方向角,同一位置横竖屏拍方向角一致
uni-app
梦梦代码精2 天前
LikeShop按摩到家系统:2026年本地生活创业新风口,上门服务O2O源码私有化部署实战
大数据·docker·小程序·uni-app·生活·高并发·开源软件
这是个栗子2 天前
【uni-app微信小程序问题解决】Uni-app 微信小程序组件不渲染
微信小程序·小程序·uni-app
梦梦代码精2 天前
LikeShop开源多端商城系统:半年使用记录
git·uni-app·github
梦梦代码精3 天前
深度拆解:上门按摩系统如何成为本地生活“到家时代”的新引擎?
docker·小程序·uni-app·开源·生活·开源软件