当前位置:首页 > 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
分享给朋友:

相关文章

vue实现键盘

vue实现键盘

Vue 实现键盘功能 在Vue中实现键盘功能通常涉及监听键盘事件、处理输入以及渲染虚拟键盘界面。以下是几种常见的实现方式: 监听键盘事件 通过@keydown或@keyup指令监听键盘事件,适用于需…

uniapp样式库

uniapp样式库

uniapp 常用样式库推荐 uView UI uView 是专为 uniapp 设计的多端兼容 UI 框架,提供丰富的组件和工具类。支持 Vue3 组合式 API,内置主题定制功能,常用于快速构建企…

uniapp设置背景

uniapp设置背景

设置全局背景样式 在App.vue文件中添加全局样式,使用page选择器设置页面背景。这种方式会影响所有页面背景。 <style> page { background-col…

uniapp设置title

uniapp设置title

设置页面标题的方法 在UniApp中设置页面标题可以通过以下几种方式实现,适用于不同场景和需求。 通过pages.json配置 在pages.json文件中,可以为每个页面单独配置导航栏标题。找到对…

uniapp中如何使用iconfont

uniapp中如何使用iconfont

使用 Iconfont 在 Uniapp 中的步骤 下载 Iconfont 资源 访问 Iconfont 官网,选择需要的图标并添加到项目。下载时选择 Font class 格式,解压后会得到 .tt…

uniapp可以用vant吗

uniapp可以用vant吗

uniapp中使用Vant组件库的可行性 Vant是专为Vue.js设计的移动端组件库,而uniapp是一个跨平台开发框架。两者并非原生兼容,但可通过以下方式实现部分Vant组件的使用。 方法一:使…