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


Posted in Javascript onFebruary 15, 2019

本文实例为大家分享了微信小程序时间标签和时间范围联动的具体代码,供大家参考,具体内容如下

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

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

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

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

index.wxml

<view class="con_screen">
 <text class="cons_ti">日期范围</text>
 <!-- 单选时间 -->
 <radio-group class="radio-group" bindchange="radioCheckedChange">
  <block >
  <label class="cons_radio {{radioCheckVal==1?'active':''}}" >
   <radio value="1" hidden="true"/>
   <text>今日</text>
  </label> 
  <label class="cons_radio {{radioCheckVal==4?'active':''}}" >
   <radio value="4" hidden="true" />
   <text>近7日</text>
  </label> 
  <label class="cons_radio {{radioCheckVal==6?'active':''}}" >
   <radio value="6" hidden="true"/>
   <text>近30日</text>
  </label>  
  </block>
 </radio-group>
 <!-- 时间段 -->
 <view class="picker_group">
  <picker mode="date" value="{{date}}" start="2015-09-01" end="{{date2}}" bindchange="bindDateChange">
  <view class="picker">
   {{date}}
   <image src="../../image/home_zsr_icon.png"></image>
  </view>
  </picker>
  到
  <picker mode="date" value="{{date2}}" start="{{date}}" end="2018-01-24" bindchange="bindDateChange2">
  <view class="picker">
   {{date2}}
   <image src="../../image/home_zsr_icon.png"></image>
  </view>
  </picker>  
 </view>
  
 </view>

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)
 },

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
实现web打印的各种方法介绍及实现代码
Jan 09 Javascript
js读写json文件实例代码
Oct 21 Javascript
javascript针对cookie的基本操作实例详解
Nov 30 Javascript
学习JavaScript设计模式之责任链模式
Jan 18 Javascript
详解AngularJS2 Http服务
Jun 26 Javascript
使用SVG基本操作API的实例讲解
Sep 14 Javascript
webpack打包并将文件加载到指定的位置方法
Feb 22 Javascript
JS实现模糊查询带下拉匹配效果
Jun 21 Javascript
JS+HTML5 Canvas实现简单的写字板功能示例
Aug 30 Javascript
通过循环优化 JavaScript 程序
Jun 24 Javascript
vue前后分离调起微信支付
Jul 29 Javascript
js实现时间日期校验
May 26 Javascript
微信小程序实现商品属性联动选择
Feb 15 #Javascript
微信小程序实现购物页面左右联动
Feb 15 #Javascript
微信小程序基于picker实现级联菜单
Feb 15 #Javascript
微信小程序实现多个按钮的颜色状态转换
Feb 15 #Javascript
详解react-refetch的使用小例子
Feb 15 #Javascript
小程序实现多列选择器
Feb 15 #Javascript
jQuery实现经典的网页3D轮播图封装功能【附源码下载】
Feb 15 #jQuery
You might like
PHP和Mysqlweb应用开发核心技术 第1部分 Php基础-3 代码组织和重用2
2011/07/03 PHP
php cURL和Rolling cURL并发方式比较
2013/10/30 PHP
php define的第二个参数使用方法
2013/11/04 PHP
php中eval函数的危害与正确禁用方法
2014/06/30 PHP
PHP函数实现分页含文本分页和数字分页
2014/10/23 PHP
PHP支付系统设计与典型案例分享
2016/08/02 PHP
几行代码轻松实现PHP文件打包下载zip
2017/03/01 PHP
不同浏览器的怪癖小结
2010/07/11 Javascript
jquery里的each使用方法详解
2010/12/22 Javascript
javascript中创建对象的几种方法总结
2013/11/01 Javascript
JS复制内容到剪切板的实例代码(兼容IE与火狐)
2013/11/19 Javascript
浅析JavaScript中的CSS属性及命名规范
2013/11/28 Javascript
js获取某元素的class里面的css属性值代码
2014/01/16 Javascript
ECMAScript中函数function类型
2015/06/03 Javascript
javascript学习之json入门
2016/12/22 Javascript
jquery实现百叶窗效果
2017/01/12 Javascript
Node.js如何使用Diffie-Hellman密钥交换算法详解
2017/09/05 Javascript
原生JS实现网页手机音乐播放器 歌词同步播放的示例
2018/02/02 Javascript
nodejs(officegen)+vue(axios)在客户端导出word文档的方法
2018/07/31 NodeJs
微信小程序中上传图片并进行压缩的实现代码
2018/08/28 Javascript
javascript动态创建对象的属性详解
2018/11/07 Javascript
在Vue里如何把网页的数据导出到Excel的方法
2020/09/30 Javascript
Python原始字符串(raw strings)用法实例
2014/10/13 Python
django框架自定义用户表操作示例
2018/08/07 Python
在Pycharm中将pyinstaller加入External Tools的方法
2019/01/16 Python
python模块之subprocess模块级方法的使用
2019/03/26 Python
关于Python 的简单栅格图像边界提取方法
2019/07/05 Python
python实现图片转换成素描和漫画格式
2020/08/19 Python
面向对象编程OOP的优点
2013/01/22 面试题
前厅收银主管岗位职责
2014/02/04 职场文书
欢迎领导标语
2014/06/27 职场文书
酒店端午节活动方案
2014/08/26 职场文书
2015元旦标语横幅
2014/12/09 职场文书
博士生专家推荐信
2015/03/25 职场文书
MYSQL如何查看操作日志详解
2022/05/30 MySQL
Win2008系统搭建DHCP服务器
2022/06/25 Servers