【微信小程序】實(shí)現(xiàn)含有今天,明天,后天的日期選擇器組件--優(yōu)化篇

到年底了,總會(huì)檢查自己做過的項(xiàng)目,以便總結(jié)下,然后在github上檢查,發(fā)現(xiàn)有些項(xiàng)目沒意義了,就刪掉了,其中有一個(gè)項(xiàng)目,就是這篇文章的題目,覺得這個(gè)項(xiàng)目???,但代碼方面不是太滿意的,特別是代碼的設(shè)計(jì)結(jié)構(gòu),我覺得要造輪子就是要讓別人或者自己能夠直接使用,并不是使用后還要改造。所以我就對(duì)這個(gè)項(xiàng)目重構(gòu)了~

小程序 - 日期時(shí)間選擇器

含有今天,明天,后天的關(guān)鍵詞,支持一列只有今天,明天,后天,還可支持轉(zhuǎn)換為日期格式的。wepy,Taro,wepy或者原生都可引用

IMB_1.GIF

使用的方法:

  • 先引用js文件:

  • wxml文件插入picker多列選擇器

<view class="section">
  <picker mode="multiSelector" range="{{dateArray}}" value="{{dateIndex}}" bindchange="datePickerChange">
  <view class="section-val">{{dateVal}}</view>
  </picker>
</view>
  • 然后在js文件上引入日期選擇的文件里實(shí)例化對(duì)象,如下
//引入datePicker的實(shí)例對(duì)象
import { DatePicker } from '../utils/datePicker2';

//實(shí)例化對(duì)象
const datePicker = new DatePicker();
//制造日期的數(shù)組數(shù)據(jù)
const dateArr = datePicker.datePicker();
  • 然后把dateArr傳給range的值(dateArray);
this.setDate({
    dateArray: dateArr.dateAll,
})
  • value這個(gè)值,如果不傳的話,默認(rèn)值就是當(dāng)前時(shí)間
this.setDate({
    dateArray: dateArr.currentDateArr,
})
  • 僅僅展示“今天 某某時(shí)間“,這倒可以的,但需要把這個(gè)時(shí)間傳給接口時(shí),這就需要轉(zhuǎn)換為日期格式的,所以我這邊還提供能轉(zhuǎn)換日期格式的功能,使用如下:
//需要把range,當(dāng)前選擇的下標(biāo)一起攜帶去
this.setData({
    dataVal: datePicker.toDate(dateArr.dateAll,dateArr.currentDateArr)
})

這樣就可以了。

但如果只需要第一列只需要“今天,明天,后天”這三個(gè)的話,那實(shí)例化對(duì)象給個(gè)這三個(gè)的就可以了,如下:

const params={
    dateArr:['今天','明天','后天']
}
const datePicker = new DatePicker(params);

效果如下:


IMB_2.GIF

github源代碼在此

不錯(cuò)的話,請(qǐng)點(diǎn)start,筆芯~當(dāng)然如果還有問題的話,可以提出來

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容