解决微信小程序picker组件start\end属性失效问题

今天有收到了一个很奇怪的bug 我们小程序上一个选择出生日期的组件 测试给选到了2024年了 我记得当时明明做了end限制为当天 也经过真机检验了没啥问题 但是看到测试重现bug的时候确实有这种情况 我赶紧自己试了下发现自己手机没问题 然后就思考是不是ios和安卓系统的原因 后来经过查阅资料发现我写的代码在安卓机上是不识别的

let data = new Date().toLocaleDateString()
this.setData({
    today:date
})      

上面代码写打印出来的date是‘2022-7-2’,在ios真机调试和开发者工具中能正常识别,但是安卓不行。安卓中的picker组件只能识别‘xxxx-xx-xx’格式的日期,所以我们需要换一种方式写

let year = new Date().getFullYear()        
let month = new Date().getMonth()+1        
let day = new Date().getDate()        
let date = `${year}-${month}-${day}`        
this.setData({
   today:date        
})

其实说到底还是我为了省事没有仔细看清楚组件格式要求 开发者文档当中已经给了我们规范格式 还是太大意了 以后这类问题要多注意了
在这里插入图片描述

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐