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 相关文章推荐
JavaScript入门教程(5) js Screen屏幕对象
Jan 31 Javascript
日历查询的算法 如何计算某一天是星期几
Dec 12 Javascript
使用js检测浏览器的实现代码
May 14 Javascript
js 定时器setTimeout无法调用局部变量的解决办法
Nov 28 Javascript
jquery图形密码实现方法
Mar 11 Javascript
基于BootStrap Metronic开发框架经验小结【八】框架功能总体界面介绍
May 12 Javascript
基于Bootstrap实现图片轮播效果
May 22 Javascript
JS 学习总结之正则表达式的懒惰性和贪婪性
Jul 03 Javascript
JavaScript实现的数字与字符串转换功能示例
Aug 23 Javascript
vue-router之实现导航切换过渡动画效果
Oct 31 Javascript
Ajax请求超时与网络异常处理图文详解
May 23 Javascript
Javascript中Microtask和Macrotask鲜为人知的知识点
Apr 02 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
php Xdebug的安装与使用详解
2013/06/20 PHP
php中使用base HTTP验证的方法
2015/04/20 PHP
精心挑选的12款优秀的基于jQuery的手风琴效果插件和教程
2012/08/22 Javascript
JavaScript更改原始对象valueOf的方法
2015/03/19 Javascript
jquery基础知识第一讲之认识jquery
2016/03/17 Javascript
15款最好的Bootstrap在线编辑器
2016/08/03 Javascript
AngularJs 指令详解及示例代码
2016/09/01 Javascript
jQuery将表单序列化成一个Object对象的实例
2016/11/29 Javascript
浅谈webpack下的AOP式无侵入注入
2017/11/12 Javascript
Vue修改mint-ui默认样式的方法
2018/02/03 Javascript
vue+element实现批量删除功能的示例
2018/02/28 Javascript
最适应的vue.js的form提交涉及多种插件【推荐】
2018/08/27 Javascript
基于Bootstrap和JQuery实现动态打开和关闭tab页的实例代码
2019/06/10 jQuery
微信小程序日历插件代码实例
2019/12/04 Javascript
详解微信小程序动画Animation执行过程
2020/09/23 Javascript
javascript实现左右缓动动画函数
2020/11/25 Javascript
[01:23:24]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Elephant BO3 第三场 2月7日
2021/03/11 DOTA
Python实现备份文件实例
2014/09/16 Python
Django中的CACHE_BACKEND参数和站点级Cache设置
2015/07/23 Python
如何优雅地改进Django中的模板碎片缓存详解
2018/07/04 Python
Python用61行代码实现图片像素化的示例代码
2018/12/10 Python
python爬虫实现中英翻译词典
2019/06/25 Python
python实现跨excel sheet复制代码实例
2020/03/03 Python
Python3.9新特性详解
2020/10/10 Python
使用CSS3来制作消息提醒框
2015/07/12 HTML / CSS
CSS3 新增选择器的实例
2019/11/13 HTML / CSS
HTML5标签与HTML4标签的区别示例介绍
2013/07/18 HTML / CSS
使用canvas绘制贝塞尔曲线
2014/12/17 HTML / CSS
优瑞自动咖啡机官网:Jura
2018/09/29 全球购物
物流司机岗位职责
2013/12/28 职场文书
祖国在我心中演讲稿
2014/01/15 职场文书
战友聚会邀请函
2014/01/18 职场文书
2014年党员公开承诺践诺书
2014/03/25 职场文书
私人委托书格式
2014/09/10 职场文书
2015年统计员个人工作总结
2015/07/23 职场文书
反邪教学习心得体会
2016/01/15 职场文书