uniapp实现横向滚动选择日期


Posted in Javascript onOctober 21, 2020

本文实例为大家分享了uniapp实现横向滚动选择日期的具体代码,供大家参考,具体内容如下

1.方法封装 common.js

//获取当前时间,格式YYYY-MM-DD HH:MM:SS
const GetNowTime = time => {
 var date = time,
 year = date.getFullYear(),
 month = date.getMonth() + 1,
 day = date.getDate(),
 hour = date.getHours() < 10 ? "0" + date.getHours() : date.getHours(),
 minute = date.getMinutes() < 10 ? "0" + date.getMinutes() : date.getMinutes(),
 second = date.getSeconds() < 10 ? "0" + date.getSeconds() : date.getSeconds();
 month >= 1 && month <= 9 ? (month = "0" + month) : "";
 day >= 0 && day <= 9 ? (day = "0" + day) : "";
 // var timer = year + '-' + month + '-' + day + ' ' + hour + ':' + minute + ':' + second;
 var timer = year + '-' + month + '-' + day;
 return timer;
}

// 格式化电话号码
const GetPhone = phone => {
 let tel = phone.slice(0, 3) + '****' + phone.slice(7, 11);
 return tel;
}
//返回日期和周几数组
function weekDate() {
 var myDate = new Date();
 myDate.toLocaleDateString();
 var month = myDate.getMonth() + 1;
 var time = myDate.getFullYear() + '年' + month + '月' + myDate.getDate() + '日';
 var total = 1; // 个数
 var dayList = [];
 dayList.push({
 'day': myDate.getDate(),
 'month': myDate.getMonth() + total,
 'week': toWeekDay(myDate.getDay()),
 'year': myDate.getFullYear()
 });
 for (var i = 0; i < 10; i++) {
 myDate.setDate(myDate.getDate() + total); // number 是最近几天 则会自动计算
 // 需求 月份-日 星期几  
 dayList.push({
 'day': myDate.getDate(),
 'month': myDate.getMonth() + total,
 'week': toWeekDay(myDate.getDay()),
 'year': myDate.getFullYear()
 })
 }
 // return dayList;
 let length = dayList.length
 let arrOne = dayList[0]
 let arrLast = dayList[length - 1]
 let StartDate = arrOne.year.toString() + '-' + arrOne.month + '-' + arrOne.day
 let EndDate = arrLast.year.toString() + '-' + arrLast.month + '-' + arrLast.day
 return {
 dayList,
 StartDate,
 EndDate
 }
}

function toWeekDay(weekDay) { // 传入数据 讲一周的某一天返回成中文状态下的字符
 switch (weekDay) {
 case 1:
 return '一';
 break;
 case 2:
 return '二';
 break;
 case 3:
 return '三';
 break;
 case 4:
 return '四';
 break;
 case 5:
 return '五';
 break;
 case 6:
 return '六';
 break;
 case 0:
 return '日';
 break;
 default:
 break;
 }
 return '传入未知参数';
}
module.exports = {
 GetNowTime,
 GetPhone,
 weekDate
}

2.组件.vue

<template>
 <view>
 <view class="box">
 <scroll-view scroll-x="true">
 <block :key="index" v-for="(item, index) in dayList">
  <view :class="current == index ? 'select' : ''" class="dayTitle">
  <view style="display: flex;flex-direction: column;justify-content: center;width: 100%;height: 100%;">
  <view>{{ item.day }}</view>
  <view style="font-size: 25upx;" v-if="index == 0">今天</view>
  <view style="font-size: 25upx;" v-else="">星期{{ item.week }}</view>
  </view>
  </view>
 </block>
 </scroll-view>
 </view>
 </view>
</template>

<script>
import Vue from 'vue';
import common from '../../common/common.js';
export default {
 data() {
 return {
 isShow: false,
 current: 0,
 dayList: [],
 xzTime: common.GetNowTime(new Date())
 };
 },
 onLoad() {
 this.dayList = common.weekDate().dayList;
 },
 methods: {
 // 日期选择
 timeSelectd(index) {
 this.current = index;
 let date = this.dayList[index].year + '-' + this.dayList[index].month + '-' + this.dayList[index].day;
 date = common.GetNowTime(new Date(date));
 this.xzTime = date;
 console.log(this.xzTime);
 }
 }
};
</script><style scoped="" type="text/css">.box {
 padding: 30upx;
}
scroll-view {
 padding: 20upx 0;
 width: 100%;
 white-space: nowrap;
}
.dayTitle {
 width: 120upx;
 height: 120upx;
 border-radius: 60upx;
 margin-left: 20upx;
 text-align: center;
 display: inline-block;
}
.select {
 color: #ffffff;
 background-color: #83cbac;
}</style>

效果图

uniapp实现横向滚动选择日期

以上就是本文的全部内容,希望对大家的学习有所帮助。


Tags in this post...

Javascript 相关文章推荐
jquery实现兼容浏览器的图片上传本地预览功能
Oct 14 Javascript
ExtJS4如何自动生成控制grid的列显示、隐藏的checkbox
May 02 Javascript
jQuery处理图片加载失败的常用方法
Jun 08 Javascript
js制作网站首页图片轮播特效代码
Aug 30 Javascript
微信小程序 选择器(时间,日期,地区)实例详解
Nov 16 Javascript
js实现彩色条纹滚动条效果
Mar 15 Javascript
基于对象合并功能的实现示例
Oct 10 Javascript
微信小程序使用progress组件实现显示进度功能【附源码下载】
Dec 12 Javascript
详解JavaScript事件循环机制
Sep 07 Javascript
解决vue中虚拟dom,无法实时更新的问题
Sep 15 Javascript
vue项目中使用vue-i18n报错的解决方法
Jan 13 Javascript
Vue.js实现备忘录功能
Jun 26 Javascript
实现vuex原理的示例
Oct 21 #Javascript
详解JavaScript类型判断的四种方法
Oct 21 #Javascript
node.js如何根据URL返回指定的图片详解
Oct 21 #Javascript
vue中template的三种写法示例
Oct 21 #Javascript
Vue使用v-viewer实现图片预览
Oct 21 #Javascript
UEditor 自定义图片视频尺寸校验功能的实现代码
Oct 20 #Javascript
Vue+axios封装请求实现前后端分离
Oct 23 #Javascript
You might like
thinkphp路由规则使用示例详解和伪静态功能实现(apache重写)
2014/02/24 PHP
PHP动态生成javascript文件的2个例子
2014/04/11 PHP
PHP调用Mailgun发送邮件的方法
2017/05/04 PHP
PHP实现图片防盗链破解操作示例【解决图片防盗链问题/反向代理】
2020/05/29 PHP
用jquery设置按钮的disabled属性的实现代码
2010/11/28 Javascript
js 去掉空格实例 Trim() LTrim() RTrim()
2014/01/07 Javascript
jQuery和AngularJS的区别浅析
2015/01/29 Javascript
PHP守护进程实例
2015/03/06 Javascript
js 实现数值的千分位及保存小数方法(推荐)
2016/08/01 Javascript
js实现简单的碰壁反弹效果
2016/08/30 Javascript
Bootstrap popover用法详解
2016/12/22 Javascript
vue2.0数据双向绑定与表单bootstrap+vue组件
2017/02/27 Javascript
JS实现的按钮点击颜色切换功能示例
2017/10/19 Javascript
mocha的时序规则讲解
2019/02/16 Javascript
js打开word文档预览操作示例【不是下载】
2019/05/23 Javascript
vue跳转方式(打开新页面)及传参操作示例
2020/01/26 Javascript
Vue+Vuex实现自动登录的知识点详解
2020/03/04 Javascript
在Django框架中编写Context处理器的方法
2015/07/20 Python
Python的re模块正则表达式操作
2016/05/25 Python
Python 实现字符串中指定位置插入一个字符
2018/05/02 Python
Python基于win32ui模块创建弹出式菜单示例
2018/05/09 Python
Django 配置多站点多域名的实现步骤
2019/05/17 Python
python 中pyqt5 树节点点击实现多窗口切换问题
2019/07/04 Python
如何用Python破解wifi密码过程详解
2019/07/12 Python
python脚本监控logstash进程并邮件告警实例
2020/04/28 Python
iPad和Surface Pro蓝牙键盘:Brydge
2018/11/10 全球购物
销售主管的自我评价分享
2014/01/03 职场文书
企业军训感想
2014/02/07 职场文书
幼教求职信
2014/03/12 职场文书
《放小鸟》教学反思
2014/04/20 职场文书
医院合作协议书
2014/08/19 职场文书
无房证明范本
2014/09/17 职场文书
大学生青年志愿者活动总结
2015/05/06 职场文书
学术研讨会主持词
2015/07/04 职场文书
windows下快速安装nginx并配置开机自启动的方法
2021/05/11 Servers
PyTorch 如何设置随机数种子使结果可复现
2021/05/12 Python