当前位置:首页 > uni-app

uniapp 跟随键盘

2026-02-05 20:38:06uni-app

调整页面布局避免键盘遮挡

pages.json中配置当前页面的style,添加"app-plus": {"softinputMode": "adjustResize"}。这种方式会让页面内容自动压缩,避免键盘遮挡输入框。

"style": {
  "app-plus": {
    "softinputMode": "adjustResize"
  }
}

监听键盘高度动态调整

通过uni.onKeyboardHeightChange监听键盘高度变化,获取到键盘高度后动态调整页面元素位置。适用于需要精确控制布局的场景。

uni.onKeyboardHeightChange(res => {
  this.keyboardHeight = res.height;
  // 根据键盘高度调整输入框位置
});

使用scroll-view保持输入框可见

将表单内容包裹在scroll-view组件中,设置scroll-into-view属性。当输入框聚焦时,将其ID赋值给该属性,确保输入框滚动到可视区域。

<scroll-view :scroll-into-view="scrollViewId">
  <input @focus="handleFocus" />
</scroll-view>

<script>
methods: {
  handleFocus(e) {
    this.scrollViewId = e.target.id;
  }
}
</script>

固定底部输入框处理

对于固定在底部的输入框,在键盘弹出时可能会被遮挡。可以通过CSS定位结合键盘高度监听,动态调整输入框的bottom值。

.input-footer {
  position: fixed;
  bottom: 0;
}
// 监听键盘高度
uni.onKeyboardHeightChange(res => {
  this.footerBottom = res.height > 0 ? res.height + 'px' : '0';
});

第三方插件解决方案

考虑使用uni-app社区的键盘处理插件,如uni-starter中的键盘处理模块。这些插件通常封装了更完善的键盘适配方案,适合复杂场景。

平台差异处理

iOS和Android的键盘行为存在差异。在manifest.json中可配置平台特定的键盘控制参数,如"softinputNavBar": "none"可隐藏Android键盘上方的导航条。

uniapp 跟随键盘

"app-plus": {
  "distribute": {
    "android": {
      "softinputNavBar": "none"
    }
  }
}

标签: 键盘uniapp
分享给朋友:

相关文章

uniapp怎么使用

uniapp怎么使用

安装与开发环境搭建 下载HBuilderX作为开发工具,这是官方推荐的IDE,内置uniapp项目模板和调试工具。安装后通过新建项目选择uniapp模板,支持Vue.js语法。确保Node.js环境已…

uniapp应用市场

uniapp应用市场

uniapp应用市场概述 Uniapp作为跨平台开发框架,支持将代码编译到iOS、Android、Web及各类小程序平台。其应用市场(插件市场)是开发者获取扩展插件、模板、组件的重要资源库,涵盖UI组…

uniapp发布到应用商店

uniapp发布到应用商店

发布到苹果App Store 确保开发者账号已注册并加入Apple Developer Program,年费99美元。在Xcode中生成iOS发布证书(.p12)和描述文件(Provisioning…

uniapp开发电视应用

uniapp开发电视应用

开发环境准备 确保已安装HBuilderX最新版本,这是uniapp官方推荐的开发工具。安装Node.js环境,用于依赖管理和打包构建。准备Android Studio或Xcode用于调试和打包TV应…

uniapp面试问啥

uniapp面试问啥

技术基础类问题 UniApp框架特性 跨端实现原理及条件编译的使用场景 如何理解"一次开发,多端运行"的优缺点 rpx与vw/vh单位的适配差异 Vue相关 生命周期在UniA…

uniapp改变checkbox选中状态

uniapp改变checkbox选中状态

修改 checkbox 选中状态的方法 在 uniapp 中修改 checkbox 的选中状态可以通过以下几种方式实现: 绑定 v-model 控制状态 通过数据绑定方式控制 checkbox 的…