微信小程序时间标签和时间范围的联动


最近忙于一个有关数据管理的微信小程序,遇到了上图情况,虽然很简单,还是整理一下。若有错误,请广大朋友们指正。


使用微信小程序组件radio-group、picker,用wxss对radio按照需求进行重构,picker里边的start和end时间是根据radio来显示的。将start、end时间放在data里,radio发生改变时,改变data中的时间。当picker中的值发生改变时,如果时间范围已经超出了radio中的范围,需要对radio的显示进行实时修改。

话不多说,接下来上代码。


index.wxml


  	日期范围
    
  	
      
           
          
               
      
		
    
    
      
        
          {{date}}
          
        
      
        
          {{date2}}
          
        
            
    
    	
  


index.wxss

.radio-group{
	display: inline-block;
}
.cons_radio{
	margin-left: 30rpx;
}
.cons_radio text{
	font-size: 26rpx;
	color: #c8c8c8;
	height: 40rpx;
	/* width: 93rpx; */
	border: #c8c8c8 solid 2rpx;
	padding:0 20rpx;
	text-align: center;
	line-height: 40rpx;
	display: inline-block;
	border-radius: 20rpx;
}
/* 黄色 */
.cons_radio.active text{
	color: #F5A623;
	border-color: #F5A623;
}
/* 红色 */
.cons_radio.activered text{
	color: #FA2B21;
	border-color: #FA2B21;
}
/* 蓝色 */
.cons_radio.activeblue text{
	color: #4AAFDD;
	border-color: #4AAFDD;
}
/* 黄绿色 */
.cons_radio.activeyg text{
	color: #BABC1A;
	border-color: #BABC1A;
}

/* 日期选择 */
.picker_group{
	display: block;
	font-size: 28rpx;
	color: #c8c8c8;
	margin-left: 20rpx;
	margin-top: 15rpx;
}
.picker_group picker{
	display: inline-block;
	margin:0 20rpx 0 20rpx;
	position: relative;
	color: #232323;
}
.picker_group picker image{
	width: 20rpx;
	height: 20rpx;
}
.cons_zsr{
	display: block;
	font-size: 32rpx;
	color: #232323;
	margin-left: 40rpx;
	margin-bottom: 15rpx;
}
.cons_zsr picker image{
	width: 30rpx;
	height: 30rpx;
}


index.js

Page({
  data:{
    page:'',
    Loading:false,
    isLogin:false,
    radioCheckVal:0,//收益占比单选
    date: '2015-09-01',//收益占比时间段起始时间
    date2:'2018-01-24',//收益占比时间段终止时间
  }, 
  // 收益占比单选时间  ring
  radioCheckedChange(e){ 
    let that=this; 
    that.setData({  
      radioCheckVal:e.detail.value  
    })  
    console.log(that.data.radioCheckVal)
    if(that.data.radioCheckVal=='1'){
      that.setData({
        date:timedate.formatDate(now),
        date2:timedate.formatDate(now),
      })
      // console.log(that.data.date+'------'+that.data.date2)
      that.timeFn(that.data.arrayindex,that.data.date,that.data.date2)
    }
    if(that.data.radioCheckVal=='4'){
      that.setData({
        date:timedate.sevenDays().t2,
        date2:timedate.sevenDays().t1,
      })
      // console.log(that.data.date+'------'+that.data.date2)
      that.timeFn(that.data.arrayindex,that.data.date,that.data.date2)
    }
    if(that.data.radioCheckVal=='6'){
      that.setData({
        date:timedate.thirtyDays().t2,
        date2:timedate.thirtyDays().t1,
      })
      // console.log(that.data.date+'------'+that.data.date2)
      that.timeFn(that.data.arrayindex,that.data.date,that.data.date2)
    }
  },
  // 收益占比时间段选择
  bindDateChange(e){
    let that=this;
    console.log(e.detail.value)
    that.setData({
      date: e.detail.value,
      radioCheckVal:0,
    })
    that.timeFn(that.data.arrayindex,that.data.date,that.data.date2)
  },
  bindDateChange2(e){
    let that=this;
    that.setData({
      date2: e.detail.value,
      radioCheckVal:0,
    })
    that.timeFn2(that.data.arrayindex,that.data.date,that.data.date2)
  },



你可能感兴趣的:(小程序)