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 Tab选项卡效果代码改进版
Apr 01 Javascript
js的alert样式如何更改如背景颜色
Jan 22 Javascript
JS往数组中添加项性能分析
Feb 25 Javascript
js动态生成Html元素实现Post操作(createElement)
Sep 14 Javascript
全面解析Bootstrap中tab(选项卡)的使用方法
Jun 06 Javascript
Angular X中使用ngrx的方法详解(附源码)
Jul 10 Javascript
利用纯JS实现像素逐渐显示的方法示例
Aug 14 Javascript
基于node.js express mvc轻量级框架实践
Sep 14 Javascript
JavaScript偏函数与柯里化实例详解
Mar 27 Javascript
通过实例讲解JS如何防抖动
Jun 15 Javascript
vue 项目软键盘回车触发搜索事件
Sep 09 Javascript
JS highcharts实现动态曲线代码示例
Oct 16 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
function.inc.php超越php
2006/12/09 PHP
PHP中的array数组类型分析说明
2010/07/27 PHP
ECMall支持SSL连接邮件服务器的配置方法详解
2014/05/19 PHP
Laravel框架学习笔记(一)环境搭建
2014/10/15 PHP
php绘制一个矩形的方法
2015/01/24 PHP
对比分析php中Cookie与Session的异同
2016/02/19 PHP
PHP实现登陆表单提交CSRF及验证码
2017/01/24 PHP
CentOS7系统搭建LAMP及更新PHP版本操作详解
2020/03/26 PHP
禁止js文件缓存的代码
2010/04/09 Javascript
jQuery实现返回顶部功能适合不支持js的浏览器
2014/08/19 Javascript
Windows下用PyCharm和Visual Studio开始Python编程
2015/10/26 Javascript
Vue 过渡(动画)transition组件案例详解
2017/01/22 Javascript
Ionic2调用本地SQlite实例
2017/04/22 Javascript
javascript完美实现给定日期返回上月日期的方法
2017/06/15 Javascript
Angular4实现动态添加删除表单输入框功能
2017/08/11 Javascript
js实现的订阅发布者模式简单示例
2020/03/14 Javascript
如何在现代JavaScript中编写异步任务
2021/01/31 Javascript
python中利用Future对象异步返回结果示例代码
2017/09/07 Python
利用python 更新ssh 远程代码 操作远程服务器的实现代码
2018/02/08 Python
Python爬虫实战:分析《战狼2》豆瓣影评
2018/03/26 Python
python SMTP实现发送带附件电子邮件
2018/05/22 Python
PyTorch的深度学习入门之PyTorch安装和配置
2019/06/27 Python
django2.2 和 PyMySQL版本兼容问题
2020/02/17 Python
python datetime时间格式的相互转换问题
2020/06/11 Python
深入理解Python 多线程
2020/06/16 Python
浅析Python 多行匹配模式
2020/07/24 Python
Django DRF APIView源码运行流程详解
2020/08/17 Python
Python修改DBF文件指定列
2020/12/19 Python
加拿大领先的优质厨具产品在线购物网站:Golda’s Kitchen
2017/11/17 全球购物
英国网上购买门:Direct Doors
2018/06/07 全球购物
信息技术专业个人自我评价
2013/12/11 职场文书
内衣营销方案
2014/03/15 职场文书
清明节网上祭英烈活动总结
2014/04/30 职场文书
地质灾害防治方案
2014/05/14 职场文书
创业计划书之便利店
2019/09/05 职场文书
Python编程中内置的NotImplemented类型的用法
2022/03/23 Python