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对象的property和prototype是什么一种关系
Aug 06 Javascript
jquery对表单操作2
Apr 06 Javascript
javascript学习笔记(十二) RegExp类型介绍
Jun 20 Javascript
Jquery实现页面加载时弹出对话框代码
Apr 19 Javascript
js 程序执行与顺序实现详解
May 13 Javascript
HTML5+Canvas调用手机拍照功能实现图片上传(上)
Apr 21 Javascript
Node.js安装配置图文教程
May 10 Javascript
在NPM发布自己造的轮子的方法步骤
Mar 09 Javascript
你可能不知道的CORS跨域资源共享
Mar 13 Javascript
vue实现手机端省市区区域选择
Sep 27 Javascript
Layui选项卡制作历史浏览记录的方法
Sep 28 Javascript
简单了解JavaScript sort方法
Nov 25 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下对数组进行排序的函数
2010/08/08 PHP
PHP中::、-&amp;gt;、self、$this几种操作符的区别介绍
2013/04/24 PHP
php显示时间常用方法小结
2015/06/05 PHP
php实现微信发红包功能
2018/07/13 PHP
25个好玩的JavaScript小游戏分享
2011/04/22 Javascript
jquery固定底网站底部菜单效果
2013/08/13 Javascript
jquery自定义滚动条插件示例分享
2014/02/21 Javascript
JS图片无缝、平滑滚动代码
2014/03/11 Javascript
关于javaScript注册click事件传递参数的不成功问题
2014/07/18 Javascript
jQuery修改li下的样式以及li下的img的src的值的方法
2014/11/02 Javascript
Node.js实用代码段之获取Buffer对象字节长度
2016/03/17 Javascript
JS实现仿百度文库评分功能
2017/01/12 Javascript
基于react框架使用的一些细节要点的思考
2017/05/31 Javascript
JavaScript事件发布/订阅模式原理与用法分析
2018/08/21 Javascript
推荐15个最好用的JavaScript代码压缩工具
2019/02/13 Javascript
JQuery 实现文件下载的常用方法分析
2019/10/29 jQuery
Angular利用HTTP POST下载流文件的步骤记录
2020/07/26 Javascript
python正则表达式re模块详细介绍
2014/05/29 Python
用Python编写一个每天都在系统下新建一个文件夹的脚本
2015/05/04 Python
Python实现在某个数组中查找一个值的算法示例
2018/06/27 Python
Python2和Python3之间的str处理方式导致乱码的讲解
2019/01/03 Python
Python图片的横坐标汉字实例
2019/12/04 Python
Python3操作MongoDB增册改查等方法详解
2020/02/10 Python
Python爬虫Scrapy框架CrawlSpider原理及使用案例
2020/11/20 Python
MoviePy常用剪辑类及Python视频剪辑自动化
2020/12/18 Python
英国剑桥包中文官网:The Cambridge Satchel Company中国
2018/11/06 全球购物
日本著名化妆品零售网站:Cosme Land
2019/03/01 全球购物
大学生旷课检讨书
2014/01/22 职场文书
美术毕业生求职信
2014/02/25 职场文书
志愿者活动总结报告
2014/06/27 职场文书
社保缴纳证明申请书
2014/11/03 职场文书
法定代表人证明书
2014/11/28 职场文书
事业单位工作人员年度考核个人总结
2015/02/12 职场文书
教师党员自我评价范文
2015/03/04 职场文书
家装业务员岗位职责
2015/04/03 职场文书
Mysql官方性能测试工具mysqlslap的使用简介
2021/05/21 MySQL