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 10 Javascript
javascript异步处理工作机制详解
Apr 13 Javascript
JavaScript中利用构造器函数模拟类的方法
Feb 16 Javascript
JS闭包用法实例分析
Mar 27 Javascript
jQuery简单绑定单个事件的方法示例
Jun 10 jQuery
浅谈JS中的常用选择器及属性、方法的调用
Jul 28 Javascript
jQuery实现点击下拉框中的值累加到文本框中的方法示例
Oct 28 jQuery
js正则相关知识点专题
May 10 Javascript
详解Element 指令clickoutside源码分析
Feb 15 Javascript
jquery多级树形下拉菜单的实例代码
Jul 09 jQuery
在layui中layer弹出层点击事件无效的解决方法
Sep 05 Javascript
TensorFlow.js 微信小程序插件开始支持模型缓存的方法
Feb 21 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 转换字符串编码 iconv与mb_convert_encoding的区别说明
2011/11/10 PHP
让codeigniter与swfupload整合的最佳解决方案
2014/06/12 PHP
php实现对象克隆的方法
2015/06/20 PHP
PHP人民币金额转大写实例代码
2015/10/02 PHP
thinkphp框架下实现登录、注册、找回密码功能
2016/04/06 PHP
CI框架AR操作(数组形式)实现插入多条sql数据的方法
2016/05/18 PHP
Prototype 1.5.0_rc1 及 Prototype 1.5.0 Pre0小抄本
2006/09/22 Javascript
两个DIV等高的JS的实现代码
2007/12/23 Javascript
JS获取dom 对象 ajax操作 读写cookie函数
2009/11/18 Javascript
使用JavaScript 实现的人脸检测
2015/03/24 Javascript
Bootstrap入门书籍之(零)Bootstrap简介
2016/02/17 Javascript
JS控制伪元素的方法汇总
2016/04/06 Javascript
js控制一个按钮是否可点击(可使用)disabled的实例
2017/02/14 Javascript
浅谈原生JS实现jQuery的animate()动画示例
2017/03/08 Javascript
深入理解vue中slot与slot-scope的具体使用
2018/01/26 Javascript
JavaScript实现Tab选项卡切换
2020/02/13 Javascript
vue.js中使用微信扫一扫解决invalid signature问题(完美解决)
2020/04/11 Javascript
antdesign-vue结合sortablejs实现两个table相互拖拽排序功能
2021/01/08 Vue.js
python用Pygal如何生成漂亮的SVG图像详解
2017/02/10 Python
浅谈Python中的zip()与*zip()函数详解
2018/02/24 Python
python 对dataframe下面的值进行大规模赋值方法
2018/06/09 Python
python去除拼音声调字母,替换为字母的方法
2018/11/28 Python
python实现最大优先队列
2019/08/29 Python
用python实现学生管理系统
2020/07/24 Python
python如何调用php文件中的函数详解
2020/12/29 Python
关于Python错误重试方法总结
2021/01/03 Python
英国在线滑雪板和冲浪商店:The Board Basement
2020/01/11 全球购物
大二学生职业生涯规划书
2014/02/05 职场文书
学雷锋志愿者活动方案
2014/08/21 职场文书
县政府班子个人对照检查材料
2014/10/05 职场文书
给上级领导的感谢信
2015/01/22 职场文书
2015年保送生自荐信
2015/03/24 职场文书
百年校庆感言
2015/08/01 职场文书
2016年暑期教师培训心得体会
2016/01/09 职场文书
在Docker容器中部署SQL Server
2022/04/11 Servers
Android开发实现极为简单的QQ登录页面
2022/04/24 Java/Android