elementui的时间选择器开始时间和结束时间的限制

开始时间不能大于结束时间

html代码部分

方法部分

开始时间和结束时间可以选同一天
<template>
	<div class="range-wrapper">
		<label>{{label}}</label>
		<el-date-picker
			v-model="value1"
			type="date"
			:editable=false
			value-format="yyyy-MM-dd"
			:picker-options="pickerOptionscreate"
			placeholder="选择日期" @change="change1">
		</el-date-picker>
		<span></span>
		<el-date-picker
			v-model="value2"
			type="date"
			:editable=false
			value-format="yyyy-MM-dd"
			:picker-options="pickerOptionsend"
			placeholder="选择日期" @change="change2">
		</el-date-picker>
	</div>
</template>

<script>
	/**
	 * com-date-range
	 * @desc 时间范围选择器
	 */
	var date = []
	export default {
		props: {
			label: {
				type: String
			},
		},
		data() {
			let that = this;
			return {
				pickerOptionscreate: {
					disabledDate(time) { //开始时间的禁用
						return time.getTime() > new Date(that.value2).getTime();
					}
				},
				//结束时间
				pickerOptionsend: {
					disabledDate(time) { //结束时间的禁用
						return time.getTime() <new Date(that.value1).getTime()-8.64e7;
					}
				},
				value1: '', //起始时间
				value2: '', //结束时间
			}
		},
		methods: {
			change1: function() {
				date[0] = this.value1
				// date[0] = JSON.stringify(Date.parse(new Date(this.value1)))
				this.$emit('input', date)
			},
			change2: function() {
				date[1] = this.value2
				// date[1] = JSON.stringify(Date.parse(new Date(this.value2)))
				this.$emit('input', date)
			},
		}
	}
</script>

<style scoped lang="less">
	.range-wrapper {
		display: inline-block;
		label {
			color: #606060;
		}
	}
	.el-date-editor.el-input {
		width: 150px;
	}
</style>
posted @   李美玲  阅读(3516)  评论(0编辑  收藏  举报
编辑推荐:
· 一次Java后端服务间歇性响应慢的问题排查记录
· dotnet 源代码生成器分析器入门
· ASP.NET Core 模型验证消息的本地化新姿势
· 对象命名为何需要避免'-er'和'-or'后缀
· SQL Server如何跟踪自动统计信息更新?
阅读排行:
· “你见过凌晨四点的洛杉矶吗?”--《我们为什么要睡觉》
· 编程神器Trae:当我用上后,才知道自己的创造力被低估了多少
· C# 从零开始使用Layui.Wpf库开发WPF客户端
· C#/.NET/.NET Core技术前沿周刊 | 第 31 期(2025年3.17-3.23)
· 接口重试的7种常用方案!
点击右上角即可分享
微信分享提示