uniapp input 聚焦时键盘弹起滚动到对应的部分

实现效果

代码如下

javascript 复制代码
<template>
	<view id='app'>
	<view class="aa"></view>
	<iconfont name="left"></iconfont>
		姓氏:<input style="background-color: antiquewhite;" type="text" v-model="aa" @focus="focus()" class="input1">+

	</view>
</template>

<script>
	export default {
		data() {
			return {
				
			}
		},
		methods: {
			focus(value){
				console.log(111)
				this.pageScroll()
			},
			pageScroll() {
				// 先获取目标dom的实例信息
				// data即为实例信息, data.top, data.left, data.right, data.bottom即为dom的对应坐标
				uni.createSelectorQuery().select('.input1').boundingClientRect(data => { 
					console.log("data.top",data.top)
					// 调用页面滚动的api
					uni.pageScrollTo({
						duration: 100, // 滚动动画过渡时间
						scrollTop: data.top, // 滚动的值
					})
				}).exec();
			},
		},
	}
</script>
<style >
	.aa{
		height: 1300rpx;
		width: 100%;
		background-color: red;
	}
</style>
相关推荐
不可能的是几秒前
深度解析:Sass-loader Legacy API 警告的前世今生与完美解决方案
前端·javascript
养老不躺平5 分钟前
关于nest项目打包
前端·javascript
fdc201710 分钟前
Avalonia:使用附加属性实现命令与事件的绑定
javascript·windows·microsoft
掘金安东尼1 小时前
Chrome 17 岁了——我们的浏览器简史
前端·javascript·github
前端小巷子1 小时前
JS 打造动态表格
前端·javascript·面试
百思可瑞教育2 小时前
ActiveMQ、RocketMQ、RabbitMQ、Kafka 的全面对比分析
vue.js·分布式·rabbitmq·rocketmq·activemq·北京百思可瑞教育·百思可瑞教育
li35749 小时前
将已有 Vue 项目通过 Electron 打包为桌面客户端的完整步骤
前端·vue.js·electron
Icoolkj10 小时前
VuePress 与 VitePress 深度对比:特性、差异与选型指南
前端·javascript·vue.js
^Rocky11 小时前
JavaScript性能优化实战
开发语言·javascript·性能优化
西陵11 小时前
Nx带来极致的前端开发体验——任务编排
前端·javascript·架构