自定义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;

}

相关推荐
এ慕ོ冬℘゜5 分钟前
前端实战:jQuery 多条件联合搜索(标题模糊查询 + 日历时间段筛选)
前端·javascript·jquery
随心点儿37 分钟前
js postMessage 实现跨域发送消息-应用示例
javascript·ecmascript·postmessage
kyriewen2 小时前
我让AI改一个bug——它偷偷动了5个我没让它碰的地方
前端·javascript·ai编程
gis开发之家6 小时前
《Vue3 从入门到大神35篇》Vue3 源码详解(五):effect 依赖收集原理——track 与 trigger 是如何工作的?
javascript·typescript·前端框架·vue3·vue3源码
橘子星8 小时前
我一个前端切图仔,凭什么能在浏览器里跑大模型?
前端·javascript·前端框架
半个落月8 小时前
用 LangChain JS 做可控写作实验:理解温度参数、提示词与异步调用
javascript·人工智能·后端
观远数据8 小时前
Excel到数据资产池:文件数据入湖的治理规范怎么建
前端·javascript·excel
CoderWeen8 小时前
我写了个能一步步点着看的 Dijkstra 可视化项目(Vue3 + Leaflet + Generator)
前端·javascript·vue.js
爱分享的程序猿-Clark9 小时前
【前端分享】vue开发项目,如何实现 从A页面跳转到B页面,并传值!
前端·javascript·vue.js
冰暮流星9 小时前
javascript之String方法介绍
开发语言·javascript·ecmascript