使用微信小程序設(shè)計(jì)下拉菜單,發(fā)現(xiàn)官方文檔中關(guān)于picker-view的示例代碼有錯(cuò)誤,
頂部天數(shù)不隨著滑動(dòng)而變化,并且默認(rèn)出現(xiàn)的月份和天數(shù)是寫死的,不是根據(jù)當(dāng)天日期顯示。
修改后的js文件為
const date = new Date() const years = [] const months = [] const days = [] for (let i = 1990; i <= date.getFullYear(); i++) { years.push(i) } for (let i = 1; i <= 12; i++) { months.push(i) } for (let i = 1; i <= 31; i++) { days.push(i) } |
Page({ data: { //數(shù)組中保存的可選日期 years: years, months: months, days: days, //默認(rèn)的頂部日期 year: date.getFullYear(), month: date.getMonth()+1, day: date.getDate(), //滑動(dòng)框中放入的是第幾個(gè)值 value: [date.getFullYear(), date.getMonth(), date.getDate()-1], }, bindChange: function (e) { const val = e.detail.value this.setData({ year: this.data.years[val[0]], month: this.data.months[val[1]], day: this.data.days[val[2]] }) } }) |
date.getMonth()取得的月份比真實(shí)月份小1,即從0到11月份,并且需要注意的是getMonth()方法必須帶括號(hào),微信開(kāi)發(fā)工具自動(dòng)提示的不帶括號(hào),需要自己手動(dòng)補(bǔ)上括號(hào)。
并且data中的value值,目測(cè)天數(shù)項(xiàng)要減1才能符合,沒(méi)弄懂這個(gè)地方是為什么,
wxml文件
<view> <view>{{year}}年{{month}}月{{day}}日</view> <picker-view indicator-style="height: 50px;" style="width: 100%; height: 300px;" value="{{value}}" bindchange="bindChange"> <picker-view-column> <view wx:for="{{years}}" style="line-height: 50px">{{item}}年</view> </picker-view-column> <picker-view-column> <view wx:for="{{months}}" style="line-height: 50px">{{item}}月</view> </picker-view-column> <picker-view-column> <view wx:for="{{days}}" style="line-height: 50px">{{item}}日</view> </picker-view-column> </picker-view> </view> |
二:獲取用戶openId
這個(gè)算不上技巧,而是一個(gè)基礎(chǔ)
wx.login({ success: function (res) { res.code }) |
獲取到code后,傳到后臺(tái),
然后請(qǐng)求微信接口
https://api.weixin.微軟雅黑/sns/jscode2session?appid=APPID&secret=SECRET&js_code=JSCODE&grant_type=authorization_code
把參數(shù)替換為自己的參數(shù),這個(gè)接口就直接返回openId了
更多請(qǐng)?jiān)诒菊舅阉鱫penid或登錄查看更多文章和帖子
工作日 8:30-12:00 14:30-18:00
周六及部分節(jié)假日提供值班服務(wù)