微信小程序-时间picker(怎样设置起始时间小于结束时间,并筛选出在此时间范围的数据)

在小程序的开发,会遇到时间选择器,来供我们选择起始时间和结束时间.

 

以此来筛选数据,得到该时间范围内的数据.

 

首先做一个时间弹窗,用hidden来控制是否显示.

我直接用.wpy后缀

<view class="weui-cells timePicker" hidden="{{timeBoxHidden}}" style="height:240rpx;">
  <view class="weui-cell" style="">
         <picker mode="date" value="{{dateStart}}" end="{{dateEnd}}" bindchange="bindDateStartChange">
      <text space='nbsp'> 开始时间 {{dateStart}}></text>
    </picker>
  </view>
  <view class="weui-cell" style="height:70rpx;">
    <picker mode="date" value="{{dateEnd}}" start="{{dateStart}}" end="2018-10-10" bindchange="bindDateEndChange">
      <text space='nbsp'> 结束时间 {{dateEnd}}></text>
    </picker>
  </view>
  <view class="weui-cell" >
    <button class="weui-btn weui-btn_primary" bindtap="cancelTime">重置</button>
    <button class="weui-btn weui-btn_primaryTwo" bindtap="sureTime">确定</button>
  </view>
</view>
 
js中去绑定数据
data = {
  dateStart: '2018-09-10',
  dateEnd: '2018-09-12',
  articles: [ ] 
}
 
如果想靠起始时间和结束时间来筛选数据
 
我试过在起始时间和结束时间绑定的事件中去调用接口,后来发现只能筛选除大于起始时间和小于结束时间的
 
而不能得到其中间的数据.
 
后来经过尝试,便在确定绑定事件中去调用该接口.
 
sureTime(e) {
  this.timeBoxHidden = true
  this.fetch({
  url:' ',
  success: (data)=> {
    let arr = []
    data.datas.forEach((item) => {
    if(item.applyTime >= this.dateStart && item.applyTime <= this.dateEnd ) {
    arr.push(item)
  }
})  
     //article 列表渲染的数据数组
  this.articles = arr
  }
})
  this.scrollToUpper()
},
 
调用接口,我使用的是封装的fetchAPI ,大家库使用微信小程序本身的wx.request({}) 去获取接口
 
这样便就完成了,时间选择器的一些操作
 
posted @ 2018-09-12 15:50  phoebemoon  阅读(16236)  评论(0编辑  收藏  举报