• 最近工作中踩的坑


    • 1、页面中若规定具体的字体,则不能使用span标签,否则在别的系统中查看会出现样式不一致
    • 2、在微信小程序中,不能使用new Date,可用moment代替。否则会没有任何效果
    • 3、在H5页面中,调用地图时,必须设置地图的具体高度,不能以百分比显示,否则会被解析成0
    • 4、在微信小程序中,若想用 new Date(date).getTime() 获取日期的时间戳, 则必须将2018-09-09 23:23:23 这种类型转变成 2018/09/09 23:23:23, 否则苹果手机不兼容

    问题1:
    new Date().getTime(),用这个方法来获取时间戳,在苹果手机上就是NaN,在Google浏览器就是没有问题!

    原因:通过在网上找资料才知道是因为ios在处理时间戳的时候,时间的格式与其他端不一样!!!
    IOS系统以及IE浏览器不支持2018-08-30这样的格式的时间

    解决方法:将2018-08-30这样的格式转变成2018/08/30这样的格式

    代码:
    1.获取当前时间戳:

    const time = dayjs().format('YYYY/MM/DD HH:mm')
    
    new Date(time).getTime()
    
    dayjs().valueOf()
    
    1. 获取指定日期时间戳,可以通过replace来进行替换
    new Date(item.time.replace(/-/g,'/')).getTime()
    
    dayjs(item.time).valueOf()
    
    

    问题2:
    小程序picker组件mode=multiSelecto的bindcolumnchange事件在ios系统不会触发。微信开发者工具中也存在该问题

    原因:
    小程序picker组件mode=multiSelector必须设置value属性,否则ios系统bindcolumnchange事件不会触发

    解决方法:
    在组件中增加value属性,并且在js里面初始化multiIndex这个变量,否则会导致第一次选择的时候不会触发bindcolumnchange事件,必须要点过确认之后,第二次选择才能触发。

    代码:

    <picker
    mode="multiSelector"
    @change="bindMultiPickerChange"
    @columnchange="bindMultiPickerColumnChange"
    range="{{dateRange}}"
    value="{{multiIndex}}"
    >
    
    
    
    data = {
    multiIndex: [0, 0, 0, 0, 0]
    }
    

    注意:value的值应该是一个数组,几级联动就设置length为几的数组

  • 相关阅读:
    vue-面试
    使用webpack4搭建一个基于Vue的组件库
    vue 仿今日头条
    如何正确的在项目中接入微信JS-SDK
    vuejs实现折叠面板展开收缩动画
    Vue的watch和computed属性
    Android Studio(十):添加assets目录
    Android Studio(九):引用jar及so文件
    Android Studio(八):Android Studio设置教程
    Android Studio(七):项目从Eclipse到Android Studio迁移
  • 原文地址:https://www.cnblogs.com/zpsakura/p/12395475.html
Copyright © 2020-2023  润新知