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脚本代码跑起来。
Jan 09 Javascript
checkbox 复选框不能为空
Jul 11 Javascript
JavaScript实现为指定对象添加多个事件处理程序的方法
Apr 17 Javascript
Javascript aop(面向切面编程)之around(环绕)分析
May 01 Javascript
学习javascript文件加载优化
Feb 19 Javascript
javascript实现九宫格相加数值相等
May 28 Javascript
self.attachevent is not a function的解决方法
Apr 04 Javascript
JavaScript实现快速排序的方法分析
Jan 10 Javascript
微信小程序项目总结之点赞 删除列表 分享功能
Jun 25 Javascript
Webpack 4如何动态切割JS注入文件名详解
Jul 09 Javascript
Element Rate 评分的使用方法
Jul 27 Javascript
JS removeAttribute()方法实现删除元素的某个属性
Jan 11 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 curl模拟浏览器采集阿里巴巴的实现代码
2011/04/20 PHP
php结合ajax实现赞、顶、踩功能实例
2014/05/12 PHP
PHP实现的自定义图像居中裁剪函数示例【测试可用】
2017/08/11 PHP
PHP类的自动加载与命名空间用法实例分析
2020/06/05 PHP
页面只有一个text的时候,回车自动submit的解决方法
2010/08/12 Javascript
JavaScript中两个感叹号的作用说明
2011/12/28 Javascript
如何书写高质量jQuery代码(使用jquery性能问题)
2014/06/30 Javascript
JQuery判断radio(单选框)是否选中和获取选中值方法总结
2015/04/15 Javascript
JavaScript学习小结(一)——JavaScript入门基础
2015/09/02 Javascript
Bootstrap进度条组件知识详解
2016/05/01 Javascript
JavaScript中数组常见操作技巧
2017/09/01 Javascript
javaScript中&quot;==&quot;和&quot;===&quot;的区别详解
2018/03/16 Javascript
详解webpack 打包文件体积过大解决方案(code splitting)
2018/04/10 Javascript
微信小程序倒计时功能实例代码
2018/07/17 Javascript
Vue动态面包屑功能的实现方法
2019/07/01 Javascript
node静态服务器实现静态读取文件或文件夹
2019/12/03 Javascript
Python3导入自定义模块的三种方法详解
2018/04/13 Python
对python 判断数字是否小于0的方法详解
2019/01/26 Python
python Tkinter版学生管理系统
2019/02/20 Python
Django网络框架之HelloDjango项目创建教程
2019/06/06 Python
Python django搭建layui提交表单,表格,图标的实例
2019/11/18 Python
Python生态圈图像格式转换问题(推荐)
2019/12/02 Python
解决flask接口返回的内容中文乱码的问题
2020/04/03 Python
解决Keras中CNN输入维度报错问题
2020/06/29 Python
Expedia意大利旅游网站:酒店、机票和租车预订
2017/10/30 全球购物
护理专业的自荐信
2013/10/22 职场文书
财务情况说明书范文
2014/05/06 职场文书
幼儿园清明节活动总结
2014/07/04 职场文书
迎七一演讲稿
2014/09/12 职场文书
公司副总经理岗位职责
2014/10/01 职场文书
面试感谢信范文
2015/01/22 职场文书
欠款起诉书范文
2015/05/19 职场文书
成功的商业计划书这样写才最靠谱
2019/07/12 职场文书
pytorch中Schedule与warmup_steps的用法说明
2021/05/24 Python
MySQL中datetime时间字段的四舍五入操作
2021/10/05 MySQL
Go 中的空白标识符下划线
2022/03/25 Golang