当前位置: 首页 > news >正文

uniapp弹出手机键盘,布局被顶飞,导致页面混乱问题

场景:

        在pc端调试一切正常,当进入手机端,实现录入的时候,键盘收起的时候,页面被顶飞。

如下图从左到右的效果:

此时可以看到有两个问题:

        1)软键盘弹出时会挡住输入框,无法正常进行编辑。 

        2)软键盘收起时,页面布局会被软键盘占位,无法变回去。

以下是我的解决方案:

       1.输入框挡住问题:

                在page.json文件中找到该组件所对应的页面,添加下方app-plus中的两个配置。并重启项目。

{"path" : "pages/find/test/test","style" :                                                                                    {"navigationBarTitleText": "页面","enablePullDownRefresh": true,"navigationBarBackgroundColor": "#f8f8f8","navigationStyle": "custom","app-plus": {"softinputMode": "adjustResize","softinputNavBar": "none"}}
},

如下图可以看到,处理过后键盘确实不会被挡住,但是收起软键盘后,布局依旧会被软键盘占位撑起。

        2.软键盘收起时,页面布局会被软键盘占位,无法变回去问题:

                既然是软键盘占位导致布局错乱,那么可以通过限制高度,来防止dom高度被软键盘撑起。

                如下面的代码示例,在被意外撑起的容器(下面的my-dialog)中加入style来设置max-height(值可自行设置),以固定容器。

<!-- 模态框 -->
<view class="test_modal_outter" @touchmove.stop.prevent="moveHandle"><viewclass="test_modal"@tap="hideModal"><view class="my-dialog" @tap.stop="" :style="'max-height:'+(mainHeight + 120)+'px'+'background-color: lightyellow;position: fixed;bottom: 0;left: 0;'"><view class="my-modal" style="padding-bottom: 0;"><view class="head padding-part"><view class="content"><view class="text-part">全部评论({{commentData.count}})</view></view></view><!-- 省略 --></view></view></view>
</view>

高度获取部分js(示例参考代码) 

let sys = uni.getSystemInfoSync();
this.mainHeight =  sys.windowHeight / 1.8;

这样,容器将不会被软键盘撑起。

希望本文会对您有所帮助 ^_^

http://www.dtcms.com/a/276285.html

相关文章:

  • 使用包管理工具CocoaPods、SPM、Carthage的利弊与趋势
  • C#与FX5U进行Socket通信
  • 数据结构之并查集和LRUCache
  • OGC:开放地理空间联盟简介
  • YOLO家族内战!v5/v8/v10谁才是你的真命天子?(附保姆级选择指南)
  • SpringAI实现保存聊天记录到redis中
  • Softmax回归(多类逻辑回归)原理及完整代码示例实现
  • 如何查询服务器的操作系统
  • 算法题(173):枚举排列
  • Arduino 无线通信实战:使用 RadioHead实现 315MHz 433M模块数据传输
  • MS Azure Eventhub 发送 AD log 到cribl
  • 学习笔记 Datewhale MCP Server Task2
  • 免费用Claude code薅羊毛
  • 【模板】最长公共子序列 详细解析
  • FastGPT革命:下一代语言模型的极速进化
  • 集训Demo1
  • 史上最全 MySQL 锁详解:从理论到实战,一篇搞定所有锁机制
  • 接口和抽象方法示例
  • C语言基础知识--联合体
  • Mybatis的一级缓存与二级缓存
  • 电网失真下单相锁相环存在的问题
  • STM32第二十一天定时器TIM
  • docker搭建 与镜像加速器
  • LeetCode经典题解:3、无重复字符的最长子串
  • 【Elasticsearch】post_filter
  • 【MATLAB代码】Chan方法解算TOA,用于三维目标的定位,锚点数量可自适应。订阅专栏后可查看完整代码
  • Windows环境下解决Matplotlib中文字体显示问题的详细指南
  • PyTorch神经网络实战:从零构建图像分类模型
  • linux----------------------线程同步与互斥(上)
  • 搭建MySQL读写分离