自定义app端、小程序端和H5等多端自定义键盘输入框,跟随系统键盘弹出和隐藏

1.标签代码:

c 复制代码
<textarea class="message-input" :style="'position:fixed;z-index:999;'+(keyboardHeight>=0?'bottom:'+keyboardHeight+'rpx;':'bottom:'+'0rpx')"
                  ref="input"
                  v-model="newPostContent"
                  :auto-focus="keyboardHeight>=0|| messageInput"
                  :placeholder="answerName"
                  confirm-type="search"
                  @keyup.enter="submitMessage"
                  @confirm="submitMessage"
        ></textarea>

2.卸载键盘时取消监听:

c 复制代码
onUnload() {
    // 页面卸载时取消监听
    uni.offKeyboardHeightChange();
  },

3.监听键盘高度:

c 复制代码
// 监听键盘高度变化
    uni.onKeyboardHeightChange(res => {
      this.keyboardHeight = res.height;
      if(this.keyboardHeight > 0){
        this.keyboardHeight -= this.inputContainerHeight; // 加上输入区域自身高度,避免遮挡
      }
      console.log('当前键盘高度:', this.keyboardHeight);
    });

4.全局变量:

c 复制代码
keyboardHeight: 0, // 键盘高度
inputContainerHeight: 200 // 输入区域自身高度,用于给主内容区设置底部padding
newPostContent: '',// 评论内容

5.css

.message-input {

width: 86%;

display: inline-block;

height: 100rpx;

box-shadow: 0 2rpx 10rpx rgb(98, 98, 98,0.3);

background: rgba(255, 255, 255, 0.14);

border-radius: 5px;

padding: 10px;

margin-bottom: 10px;

}

相关推荐
三十而立洋1 天前
Cookie 详解:从产生到安全,一次讲透
前端·javascript
卡布鲁1 天前
把一个 Vite + Vue3 应用塞进 qiankun (React + Umi3) 主站:十个坑的复盘
前端·javascript·react.js
李少兄1 天前
JavaScript 隐式全局变量解析
javascript
MoonMoonLee1 天前
小程序配置
小程序
沙蒿同学1 天前
我用 Go 搭了一条 AI Agent 流水线:从 1 张商品图到一整套淘宝详情页
前端·javascript·后端
码兄科技1 天前
24小时自助健身房系统软件开发实战指南:功能设计与部署方案
java·spring boot·uni-app
paopaokaka_luck1 天前
智慧社区综合服务小程序(人脸识别、AI问答、Echarts图形化分析)
前端·javascript·spring boot·spring·数据分析·echarts
2501_916007471 天前
苹果商店iOS应用上架费用全面解析:开发者计划与审核费用计算
android·ios·小程序·https·uni-app·iphone·webview
JQweryuiop1 天前
中小型游戏陪练工作室数字化管理实践:基于七彩屋电竞护航小程序订单、履约与绩效系统的落地复盘
大数据·游戏·小程序·架构
Hilaku1 天前
为什么死磕 1px 的团队,用户体验反而更差?
前端·javascript·程序员