微信小程序开发坑记录

1.scroll-view滚动条占位

scroll-view一旦设置水平可滚动scroll-x="true",就会在底部留下一部分明显的空白,作为内容和滚动条之间的隔离,即使设置滚动条不可见也不能将其去除。目前暂无法将其取消。

2.ScrollViewContext.scrollTo在开发工具上无效

通过wxml api可以获取scroll-view的ScrollViewContext,进而对其进行高性能控制。scrollTo可以指定滚动的位置,但是这个api在开发工具上完全无效果,据说真机在有些系统上也有问题。scrollTo接受一个对象,如果是水平滚动就要设置left的值,注意这个值是px单位。所以使用的时候,如果你使用的是rpx给DOM设置的样式的话,需要转换成px。转换的时候不能简单的使用以下代码:

const dres = wx.getSystemInfoSync()
const ratio = dres.windowWidth/375
const px = 48 * ratio

正确的做法是要对px进行取整,否则误差会积累。因为小程序的布局系统转换都是取整的,小数运算虽然看起来更精确,但是因为微信取整了,反而造成了误差。

3.navigateBack 的 success 回调 getCurrentPages() 表现不一致

在 navigateBack 的 success 回调内调用 getCurrentPages() 返回值(数组)不一致,各机型表现如下:

  1. 开发者工具 / 安卓(华为 P9、运行系统 26、微信版本 7.0.5、基础库 2.8.3)

    不包含当前页(即点击触发 navigateBack 的页面)

  2. iOS(iPhone 5s、iOS 12.1.2、微信版本 7.0.5、基础库 2.8.3)

       包含当前页

来源:navigateBack 的 success 回调 getCurrentPages() 表现不一致 | 微信开放社区

解决办法:navigateBack之前获取page。

4. 云开发微信支付提示201商户订单号重复

解决办法:每次调用 cloudPay.unifiedOrder都要生成一个单号,然后更新原来的订单单号,订单ID不能用订单单号。

你可能感兴趣的:(微信小程序,小程序)