微信小程序-时间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({}) 去获取接口
 
这样便就完成了,时间选择器的一些操做
相关文章
相关标签/搜索