美文网首页
小程序开发中的那些坑

小程序开发中的那些坑

作者: oo高学吟 | 来源:发表于2018-08-03 15:43 被阅读0次
    1. new Date() 返回 Null

    IOS设备的new Date()不支持 “2017-11-11"以-为间隔的日期,会返回null,必须改为 “2017/11/11"以/为间隔的格式

    2. 组件层级最高无法用z-index控制,慎用overflow:auto
    3. textarea组件是由客户端创建的原生组件,它的层级是最高的,不能通过 z-index 控制层级。当需要弹窗、遮罩层时,需要将textarea销毁,再次显示后要重新赋值。
    4. canvas、video 组件同上
    5. 页面使用video组件时,不能设置overflow:auto,否则video会固定位置
    6. 使用textarea,页面也不能使用overflow:auto,否则placeholder会固定位置
    7. picker 在安卓设备上选项会循环显示
    8. wx.showModal() 遮罩层点击穿透

    弹窗自带的遮罩层会在安卓设备上穿透到下一层,当必须要规避这种情况时,请选择使用自定义的组件。

    9. scroll-view 是否开始滚动用 scroll-y="{{isScroll}}" 控制

    seroll-view中bindscrolltoupper触顶事件时灵时不灵,做加载更多时慎用

    10. 扫码进入小程序无法启动的问题

    当小程序已经冷启动过且还未过期时,再次扫码进入,将无法触发onLaunch,只能触发onShow,因此,应设置一个全局变量isOnLaunch记录冷启动状态,初始为false,在indexCallback回调中设为true,Onshow中检测:

    options.path == "pages/index/index" && this.globalData.isOnLaunch

    如果为true,则再次执行登录操作。

    options.query是分享获取其他路径进入小程序时携带的参数

    11.分享进入小程序问题

    分享进入小程序时app.js(options.path != "pages/index/index"),会同时启动app.js、与分享页,若分享页需要得到登录后的一些值,则在分享页面需等待登录(正常登录小程序时,同时启动app.js和首页)

    12. input组件固定在底部时在ios上部分机型会弹跳一下遮住输入框
    13. canvas生成二维码,一个码对应一个id

    画二维码、条形码时,如果码是随机生成,那么canvas的id也必须是随机的

    14. echarts显示问题

    1、在tab中,若用wx:if,则echarts画出来的图表不会再显示,应用hidden或者再画一遍

    2、echarts画饼图在安卓机上,圆心本来是空心但是会填充其他颜色,用we-charts圆环图代替

    we-charts:http://github.com/xiaolin3303/wx-charts

    15. button设置open-type替代原本的获取用户授权

    需注意,open-type支持会话:contact,分享share,获取用户信息:getUserInfo,手机号:getPhoneNumber,打开授权设置页openSetting,像wx.chooseLocation这些会自动询问用户授权,若用户拒绝,则只能引导用户打开授权设置页

    16. checkbox用来多选反选必须用checkbox-group包住用bindchange来识别变化

    e.detail.value表示当前选中的值

    17. 获取手机号open-type="getPhoneNumber"还需重新登录获取code

    小程序登录返回的code是一次性的,获取手机号需重新调用wx.login换取最新的code

    18. 下拉刷新需在json配置enablePullDownRefresh:true,另需注意上拉触底会并发

    使用小程序自带的下拉刷新除了json配置,另外若页面有加载更多功能时,需在调用onPullDownRefresh下拉刷新时,设置一个参数例:isRefresh为true,在上拉触底onReachBottom时,需判断isRefresh为false才触发,否则,上拉触底和下拉加载更多会同事触发

    19. 非tabBar页之间来回切换触发onshow而非onload

    非tabBar页面只有跳转tabBar页面后才会重新onload,而tabBar页面只有小程序重新启动才会重新onload

    相关文章

      网友评论

          本文标题:小程序开发中的那些坑

          本文链接:https://www.haomeiwen.com/subject/rjtuvftx.html