uniapp 开发遇到的问题
1. App平台IOS端软键盘上方横条去除方案(禁用键盘上的^)
在 pages.json 中配置 style配置
"app-plus": {
"softinputNavBar": "none"
}
2.屏幕高度=状态栏高度+原生导航栏高度+可使用窗口高度+原生tabbar高度。
3.navigateTo, redirectTo 只能打开非 tabBar 页面,switchTab 只能打开 tabBar 页面。
4.页面结构复杂,css样式太多的情况,使用 image 可能导致样式生效较慢,出现 “闪一下” 的情况,此时设置 image{will-change: transform} ,可优化此问题。
5.在字体或高度中使用了 rpx ,那么需注意这样的写法意味着随着屏幕变宽,字体会变大、高度会变大。如果你需要固定高度,则应该使用 px 。
6.H5端页面刷新之后页面栈会消失,此时navigateBack不能返回,如果一定要返回可以使用history.back()导航到浏览器的其他历史记录。
7.tabbar 切换第一次加载时可能渲染不及时,可以在每个tabbar页面的onLoad生命周期里先弹出一个等待雪花。
8.tabbar 的页面展现过一次后就保留在内存中,再次切换 tabbar 页面,只会触发每个页面的onShow,不会再触发onLoad。
9.若需要禁止蒙版下的页面滚动,可使用 @touchmove.stop.prevent="moveHandle",moveHandle 可以用来处理 touchmove 的事件,也可以是一个空函数。
10.组件内引入图片要使用绝对路径。 /static/...
11.<picker>中最好写一个<view class="style">写样式,而不是在picker上加样式
12.<scroll-view>中写position: fixed,在ios下会有兼容性问题
13. 编译期判断环境可⽤条件编译,运⾏期判断可⽤uni.getSystemInfoSync().platform判断环境。
14. 若需要禁⽌蒙版下的页⾯滚动,可使⽤ @touchmove.stop.prevent="moveHandle",moveHandle 可以⽤来处理 touchmove 的事件,也可以是⼀个空函数
15. 在普通的 H5+ 项⽬中,需要使⽤ document.addEventListener 监听原⽣扩展的事件。uni-app 中,没有 document。可以使
⽤ plus.globalEvent.addEventListener 来实现。
16. 在普通的 H5+ 项⽬中,需要使⽤ document.addEventListener 监听原⽣扩展的事件。uni-app 中,没有 document。可以使
⽤ plus.globalEvent.addEventListener 来实现
17. 如需调节checkbox,radio⼤⼩,可通过css的scale⽅法调节,如缩⼩到70%style="transform:scale(0.7)"
18. 页⾯结构复杂,css样式太多的情况,使⽤ image 可能导致样式⽣效较慢,出现 “闪⼀下” 的情况,此时设置 image{will-change:
transform} ,可优化
19.H5端页⾯刷新之后页⾯栈会消失,此时navigateBack不能返回,如果⼀定要返回可以使⽤history.back()导航到浏览器的其他历史记录.
20. 在小程序端 font-weight:bold ,要写bold,数值苹果不支持,还有就是文字颜色不能写rgba小程序苹果不支持会不显示
21. u-collapse折叠面板 小程序循环默认展开,动态渲染之后计算面板高度


浙公网安备 33010602011771号