Taro开发微信小程序遇到的问题和解决方法

前言: 这是一份开发小程序过程遇到的一些问题记录,以后有类型的坑都会记录在这里

  1. scroll-view 置顶, 给设置scroll-top为0无效问题?

解决方案: 不触发置顶问题,需要给scroll-top一个设置接近0的随机数,Math.random()

  1. scroll-view绑定bindscrolltolower没有触发问题?

解决方案: 通过获取系统信息wx.getSystemInfoSync()拿到屏幕的高度,然后减去其他组件占位的高度, 得到scroll-view容器的高度, 最后给scroll-view的style设置容器的高度才能生效

  1. 用wx.createSelectorQuery().select(id).fields({computedStyle: ['margin', 'backgroundColor', 'width', 'height']}),获取高度,如果设置了padding得到的值不准确问题?

解决方案: 给容器添加box-sizing: border-box;

  1. 注意在使用taro, 对webpack配置defineConstants全局变量,不能在代码中使用相同和全局变量相同的命令变量或者函数中的形成

  2. 小程序中使用request,如果url直接带上中文,在部分手机会导致中文编号异常请求失败

解决不要直接query拼接到url中,把query传递到request对应的data中,最好在header中添加'Content-Type': 'application/json; charset=utf-8'

  1. Taro v1.3.0-beta.3开发微信插件,使用'@tarojs/async-await'导致regeneratorRuntime is not defined报错

在载入@tarojs/async-await的地方添加一个声明const regeneratorRuntime = global.regeneratorRuntime;

  1. 升级Taro为Taro v1.3.0-beta.3,开发微信插件,微信开发工具报VM2140:5 未找到入口 app.json 文件,或者文件读取失败,请检查后重新编译。

解决方法: 修改project.config.json中的miniprogramRoot的值为miniprogram/weapp/

  1. 使用ref无法获取自组件的问题,描述在Taro的componentWillMount中调用自组件的方法,无法获取自组件的问题

解决方法: 在componentDidMount中调用自组件的方法,因为componentWillMount的时候还没有加载完DOM

  1. 当前最外层容器使用width: 100vw;padding:20px;的时候, 子容器设置'width:100%'会导致子容器的宽度为100vw

解决方法: 外层容器使用width:100%;

你可能感兴趣的:(Taro开发微信小程序遇到的问题和解决方法)