封装日期时间组件

概述

该组件包含日期选择,任意时间选择、固定时间点选择。

子组件代码(date-picker.vue)

<template><div id="date_picker"><el-popover placement="top" width="322" trigger="click" ref="popover"><div class="picker"><!-- 日期选择 --><el-date-picker v-model="date" type="date" placeholder="选择日期" prefix-icon=" "></el-date-picker><!-- 任意时间点 --><el-time-picker v-model="anyTime" placeholder="任意时间" prefix-icon=" "></el-time-picker><!-- 固定时间 --><el-select v-model="fixTime" placeholder="固定时间"><el-option v-for="item in timePickerOptions" :key="item.value" :label="item.label" :value="item.value"></el-option></el-select></div><!-- 操作按钮 --><div style="text-align: end;margin-top: 10px;"><el-button type="text" @click="getCurrentTime">此刻</el-button><el-button @click="getselectedTime">确定</el-button></div><!-- 弹出层的输入框 --><el-input slot="reference" placeholder="选择日期时间" v-model="expectTime"></el-input></el-popover></div>
</template><script>
export default {data() {return {date: '',  // 日期anyTime: '', // 任意时间fixTime: '', // 固定时间expectTime: '',  // 总时间timePickerOptions: [{ value: '09:00', label: '9:00' },{ value: '12:30', label: '12:30' },{ value: '14:30', label: '14:30' },{ value: '15:30', label: '15:30' },{ value: '17:00', label: '17:00' },{ value: '18:30', label: '18:30' },{ value: '19:00', label: '19:00' },{ value: '20:30', label: '20:30' },],}},watch: {anyTime() {return this.anyTime ? this.fixTime='' : this.anyTime},fixTime() {return this.fixTime ? this.anyTime='' : this.fixTime}},methods: {// 获取此刻时间getCurrentTime() {this.date = this._timeFormatConversion(new Date(), 'yyyy-MM-dd')this.anyTime = new Date()this.expectTime = `${this.date} ${this._timeFormatConversion(this.anyTime, 'HH:mm:ss')}`this.$emit('click',this.expectTime)this.$refs.popover.doClose()},// 获取最终选定时间getselectedTime() {this.date = this._timeFormatConversion(this.date ? this.date : new Date(), 'yyyy-MM-dd')if (this.anyTime) {this.expectTime = `${this.date} ${this._timeFormatConversion(this.anyTime, 'HH:mm:ss')}`} else if (this.fixTime) {this.expectTime = `${this.date} ${this.fixTime}`} else {this.getCurrentTime()}this.$emit('click',this.expectTime)this.$refs.popover.doClose()},// 时间格式化_timeFormatConversion(time, format) {var t = new Date(time);var tf = function (i) {return (i < 10 ? '0' : '') + i};return format.replace(/yyyy|MM|dd|HH|mm|ss/g, function (a) {switch (a) {case 'yyyy':return tf(t.getFullYear());break;case 'MM':return tf(t.getMonth() + 1);break;case 'mm':return tf(t.getMinutes());break;case 'dd':return tf(t.getDate());break;case 'HH':return tf(t.getHours());break;case 'ss':return tf(t.getSeconds());break;}})}}
}
</script><style scoped lang="scss">
#date_picker {width: 100%;
}
.el-date-editor.el-input, .el-date-editor.el-input__inner,
.el-select {width: 100px;
}
.picker {display: flex;justify-content: space-between;
}
/deep/ .el-input--prefix .el-input__inner {padding: 0 7px;
}
</style>

父组件引用

<date-picker v-model="time" @sendTime="getTime"></date-picker>import datePicker from '@/components/date-picker'components: { datePicker }// 获取预期时间
getTime(val) {this.time = valconsole.log(this.time,"this.time");
}

效果图

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/412563.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【干货】网络安全之URL过滤

热门IT课程【视频教程】-华为/思科/红帽/oraclehttps://xmws-it.blog.csdn.net/article/details/134398330?spm1001.2014.3001.5502 URL过滤是一种针对用户的URL请求进行上网控制的技术&#xff0c;通过允许或禁止用户访问某些网页资源&#xff0c;达到规范上网行为和降低安全…

openGauss学习笔记-201 openGauss 数据库运维-常见故障定位案例-执行修改表分区操作时报错

文章目录 openGauss学习笔记-201 openGauss 数据库运维-常见故障定位案例-执行修改表分区操作时报错201.1 执行修改表分区操作时报错201.1.1 问题现象201.1.2 原因分析201.1.3 处理办法 openGauss学习笔记-201 openGauss 数据库运维-常见故障定位案例-执行修改表分区操作时报错…

2024-01-18

今天是我失业的第二天&#xff0c;很难受&#xff0c;但是生活需要继续 今日八股文内容&#xff1a; JVM&#xff1a;JVM由那些区域组成&#xff1a;堆。&#xff08;本地方法和java&#xff09;栈&#xff0c;方法区&#xff0c;程序计数器。线程私有的是栈和程序计数器 。…

transbigdata笔记:轨迹切片

1 方法介绍 在transbigdata笔记&#xff1a;轨迹停止点和行程提取-CSDN博客中&#xff0c;已经可以把轨迹点拆分成停止点和行程点&#xff0c;但是行程点只有起止位置&#xff0c;不包含行程轨迹信息为了进一步分析车辆的行驶轨迹&#xff0c;需要从每次行程的时间段中提取轨迹…

(二十)Flask之上下文管理第一篇(粗糙缕一遍源码)

每篇前言&#xff1a; &#x1f3c6;&#x1f3c6;作者介绍&#xff1a;【孤寒者】—CSDN全栈领域优质创作者、HDZ核心组成员、华为云享专家Python全栈领域博主、CSDN原力计划作者 &#x1f525;&#x1f525;本文已收录于Flask框架从入门到实战专栏&#xff1a;《Flask框架从入…

风丘科技为您提供完整的ADAS测试方案

一 方案概述 随着5G通讯与互联网的快速发展&#xff0c;智能汽车和ADAS辅助系统的研究与发展在世界范围内也在如火如荼地进行。风丘科技紧跟时代脚步&#xff0c;经多年积累沉淀&#xff0c;携手整车厂与高校共同研发打造出了一套完整且适用于国内ADAS测试的系统方案。 | ADAS…

开发者的API利器:Apipost

在当今的数字化时代&#xff0c;数据流通是推动社会进步的关键因素之一。其中&#xff0c;API&#xff08;应用编程接口&#xff09;已经成为跨平台数据交互的标准。然而&#xff0c;API开发和管理并非易事&#xff0c;Apipost一体化研发协作赋能平台&#xff0c;支持从API设计…

红队打靶练习:BOB: 1.0.1

目录 信息收集 1、netdiscover 2、nmap 3、nikto 4、whatweb 目录探测 1、dirb 2、gobuster 3、dirsearch WEB 主页&#xff1a; robots.txt 其他页面 反弹shell 提权 系统信息收集 jc账户 本地提权 信息收集 1、netdiscover ┌──(root㉿ru)-[~/kali] └…

赤藓糖醇行业研究:预计2029年将达到3.5亿美元

赤藓糖醇是一种四碳糖醇&#xff0c;存在于多种食物中&#xff0c;如葡萄、梨、西瓜等&#xff0c;可由微生物发酵法和化学合成法两种方法制备&#xff0c;目前商业化生产中均采用微生物发酵法。赤藓糖醇由葡萄糖发酵制作而成&#xff0c;上游原料主要包括葡萄糖、玉米淀粉糖和…

9个在线图像压缩工具,可让您直接压缩 JPG、PNG 和 GIF 文件。

在这篇文章中&#xff0c;我们收集了九个出色的在线图像优化工具&#xff0c;可让您直接从网络浏览器压缩 JPG、PNG 和 GIF 文件。 除了分享有关每个工具的信息之外&#xff0c;我们还将分享测试 JPG 和 PNG 图像的真实测试数据&#xff0c;以便您了解每个工具可以节省的文件大…

Python数据分析(1)Matrix Manipulation

主要根据的是这学期修的一门data science and analysis课程里的lab&#xff0c;自己做完lab之后会反思一下自己学到的内容吧。 然后这周lab的话主要是用numpy来处理矩阵&#xff08;毕竟numpy可以有效地处理数组&#xff09;。 创建矩阵 np.zeros(k), np.ones(k) #一维矩阵 …

Spring Security的使用条件

Spring Security要求使用Java 8或更高版本的运行时环境。 由于Spring Security旨在以自包含的方式运行&#xff0c;因此您无需在Java运行时环境中放置任何特殊的配置文件。特别是&#xff0c;您无需配置特殊的Java认证和授权服务&#xff08;JAAS&#xff09;策略文件&#xf…