小程序模板網(wǎng)

微信小程序小技巧系列《八》picker-view日期選擇器,獲取用戶openId ...

發(fā)布時(shí)間:2018-02-06 16:55 所屬欄目:小程序開(kāi)發(fā)教程
一:微信小程序picker-view日期選擇器
 

使用微信小程序設(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ǔ)

  1. 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或登錄查看更多文章和帖子


易優(yōu)小程序(企業(yè)版)+靈活api+前后代碼開(kāi)源 碼云倉(cāng)庫(kù):starfork
本文地址:http://22321a.com/wxmini/doc/course/21668.html 復(fù)制鏈接 如需定制請(qǐng)聯(lián)系易優(yōu)客服咨詢:800182392 點(diǎn)擊咨詢
QQ在線咨詢