刷刷题35(uniapp中级实际项目问题-2)

1. ‌iOS 底部安全区域留白异常

  • 问题‌:iOS 设备底部内容被安全区域遮挡或留白过多。
  • 解决 ‌:在 manifest.json 中配置 app-plussafearea 参数,设置 offset: "none" 禁用底部安全区域偏移‌。

2. ‌Button 组件伪元素边框残留

  • 问题 ‌:Button 组件在部分平台显示默认黑色边框,即使设置 border: none 无效。

  • 解决‌:通过 CSS 覆盖伪元素样式:

    css 复制代码
    cssCopy Code
    button::after { border: none; display: none; }  

    需注意全局样式污染风险‌。


3. ‌H5 端上传文件格式异常

  • 问题 ‌:uni.uploadFile 在 H5 端上传图片时,后端无法识别文件类型(如后缀名丢失)。
  • 解决 ‌:手动为 FormData 添加 nametype 字段,或使用 uni.chooseImage 返回的 tempFiles 中的 File 对象‌。

4. ‌Textarea 组件点击事件冒泡干扰

  • 问题‌:iOS 设备中点击 Textarea 会意外触发父级元素事件(如页面滚动)。
  • 解决 ‌:在 Textarea 外层添加 @touchstart.stop 阻止事件冒泡,或使用 catchtouchstart 事件‌。

5. ‌APP 自动登录状态同步问题

  • 问题‌:用户登录信息存储后,多页面间状态同步延迟或失效。
  • 解决 ‌:结合 Vuex 全局状态管理 + uni.setStorageSync 持久化存储,并在 app.vueonLaunch 中初始化状态‌。

6. ‌导航栏与胶囊按钮高度适配

  • 问题‌:自定义导航栏在 Android/iOS 中与胶囊按钮间距不一致。

  • 解决 ‌:通过 uni.getSystemInfoSync() 动态计算导航栏高度:

    • iOS:状态栏高度 + 44px
    • Android:状态栏高度 + 48px‌5。

7. ‌页面跳转参数类型隐式转换

  • 问题 ‌:uni.navigateTo 传递的布尔值参数会被强制转为字符串类型。
  • 解决 ‌:在目标页面使用 JSON.parse() 或显式类型转换(如 option.flag === 'true')‌。

8. ‌APP 批量上传图片字段冲突

  • 问题 ‌:真机调试时 uni.uploadFile 批量上传多图,后台仅接收最后一张图片。
  • 解决 ‌:手动为每个文件对象添加唯一 name 字段,避免后端接收时覆盖同名文件‌。
相关推荐
数据知道3 分钟前
C++ 层拦截:修改 Blink 引擎与 V8 绑定的底层逻辑
javascript·数据采集·指纹浏览器·风控
问心无愧051320 分钟前
ctf show web入门110
前端·笔记
拉拉肥_King25 分钟前
Vue 3 主题切换深度解析:从炫酷动画到零闪烁方案
前端·vue.js
excel27 分钟前
为什么 Pinia + localForage 持久化后,页面初始化拿不到数据?
前端
雨雨雨雨雨别下啦30 分钟前
vant介绍
前端
小小小小宇30 分钟前
大模型失忆问题探讨
前端
wordbaby33 分钟前
rn-cross-calendar:一个兼容 React 18/19、RN/RNOH 的跨平台日历组件
前端·react native·harmonyos
weixin_5231853235 分钟前
Collections.unmodifiableMap详解:真的不可修改吗?
java·linux·前端
江米小枣tonylua36 分钟前
关掉 VSCode:在 NeoVim12 上配置 Claude Code
前端·程序员
swipe1 小时前
做多轮对话 Agent,为什么我建议把短期记忆放到 Redis
后端·面试·llm