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 相关文章推荐
js的表单操作 简单计算器
Dec 29 Javascript
JS将数字转换成三位逗号分隔的样式(示例代码)
Feb 19 Javascript
IE8中动态创建script标签onload无效的解决方法
Dec 22 Javascript
JS实现兼容各浏览器解析XML文档数据的方法
Jun 01 Javascript
使用jquery实现仿百度自动补全特效
Jul 23 Javascript
js实现正则匹配中文标点符号的方法
Dec 23 Javascript
Angular 2.x学习教程之结构指令详解
May 25 Javascript
vue中动态添加class类名的方法
Sep 05 Javascript
Vue项目查看当前使用的elementUI版本的方法
Sep 27 Javascript
js实现数字滚动特效
Dec 16 Javascript
Vue CLI3移动端适配(px2rem或postcss-plugin-px2rem)
Apr 27 Javascript
node.js爬虫框架node-crawler初体验
Oct 29 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实现本地图片转base64格式并上传
2020/05/29 PHP
jquery简单体验
2007/01/10 Javascript
jquery.ui.draggable中文文档
2009/11/24 Javascript
VBS通过WMI监视注册表变动的代码
2011/10/27 Javascript
js获取元素相对窗口位置的实现代码
2014/09/28 Javascript
jQuery实现购物车数字加减效果
2015/03/14 Javascript
微信小程序 loading 详解及实例代码
2016/11/09 Javascript
Vue2.x中的Render函数详解
2017/05/30 Javascript
Vue2.0基于vue-cli+webpack Vuex的用法(实例讲解)
2017/09/15 Javascript
深入理解JS的事件绑定、事件流模型
2018/05/13 Javascript
vue.js 打包时出现空白页和路径错误问题及解决方法
2019/06/26 Javascript
微信小程序自定义纯净模态框(弹出框)的实例代码
2020/03/09 Javascript
nodejs如何在package.json中设置多条启动命令
2020/03/16 NodeJs
javascript实现前端成语点击验证优化
2020/06/24 Javascript
vue实现简单全选和反选功能
2020/09/15 Javascript
如何在现代JavaScript中编写异步任务
2021/01/31 Javascript
[23:21]Ti4 冒泡赛第二轮DK vs C9 2
2014/07/14 DOTA
利用Python实现Windows定时关机功能
2017/03/21 Python
Django代码性能优化与Pycharm Profile使用详解
2018/08/26 Python
python 将列表中的字符串连接成一个长路径的方法
2018/10/23 Python
Windows 安装 Anaconda3+PyCharm的方法步骤
2019/06/13 Python
Python3爬虫中Ajax的用法
2020/07/10 Python
Python定义一个Actor任务
2020/07/29 Python
通过代码实例了解Python sys模块
2020/09/14 Python
CSS3 border-radius圆角的实现方法及用法详解
2020/09/14 HTML / CSS
宝拉珍选澳大利亚官方购物网站:Paula’s Choice澳大利亚
2016/09/13 全球购物
中国电子产品外贸网站:MiniIntheBox
2017/02/06 全球购物
什么是Rollback Segment
2013/04/22 面试题
Java语言程序设计测试题改错题部分
2014/07/22 面试题
给排水工程师岗位职责
2013/11/21 职场文书
奶茶专卖店创业计划书
2014/01/18 职场文书
应届硕士毕业生自荐信
2014/05/26 职场文书
法人授权委托书公证范本
2014/09/14 职场文书
羊脂球读书笔记
2015/06/30 职场文书
Go中的条件语句Switch示例详解
2021/08/23 Golang
MySQL性能指标TPS+QPS+IOPS压测
2022/08/05 MySQL