el-date-picker限制可选时间范围

文章展示了如何在Vue应用程序中使用el-date-picker组件来限制用户可选的日期范围。通过v-model绑定数据,并使用:disabled-date属性配合自定义方法disabledStartDate和disabledEndDate,确保开始日期不会晚于结束日期,结束日期也不会早于开始日期。

el-date-picker限制可选时间范围

<el-form-item label="募集期起始时间">
	<el-date-picker v-model="formData.raisedStartDate" type="date" value-format="YYYY-MM-DD" placeholder="选择日期" :disabled-date="disabledStartDate"></el-date-picker>
</el-form-item>
<el-form-item label="募集期结束时间">
	<el-date-picker v-model="formData.raisedEndDate" type="date" value-format="YYYY-MM-DD" placeholder="选择日期" :disabled-date="disabledEndDate"></el-date-picker>
</el-form-item>
const state = reactive<any>({
	formData: {
		raisedStartDate: '',
		raisedEndDate: '',
	},
	disabledStartDate: (time: Date) => {
		return time.getTime() > new Date(state.formData.raisedEndDate).getTime();
	},
	disabledEndDate: (time: Date) => {
		return time.getTime() < new Date(state.formData.raisedStartDate).getTime();
	},
});
在使用 `el-date-picker`(Element UI 的日期选择组件)时,我们可以通过 `picker-options` 属性来限制用户可选择的时间范围。具体来说,可以使用 `disabledDate` 函数来禁用某些日期,使用 `selectableRange` 来限制可选择的时间段(适用于时间范围选择)。 以下是一个完整的示例,展示如何限制 `el-date-picker` 的可选时间范围: ### 示例:限制用户只能选择 2025 年 1 月 1 日 至 2025 年 12 月 31 日之间的日期 ```vue <template> <div> <el-date-picker v-model="selectedDate" type="date" placeholder="选择日期" :picker-options="pickerOptions" /> </div> </template> <script> export default { data() { return { selectedDate: '', pickerOptions: { disabledDate(time) { // 只允许选择 2025-01-01 至 2025-12-31 之间的日期 return time.getTime() < new Date('2025-01-01').getTime() || time.getTime() > new Date('2025-12-31').getTime(); } } }; } }; </script> ``` ### 示例:限制时间范围选择器的时间段(用于 `daterange` 类型) 如果你使用的是 `type="daterange"`,还可以通过 `selectableRange` 设置每天可选时间段(如限制只能在每天 9:00 - 18:00 之间选择): ```vue <template> <div> <el-date-picker v-model="selectedDateRange" type="daterange" start-placeholder="开始日期" end-placeholder="结束日期" :picker-options="pickerOptionsRange" /> </div> </template> <script> export default { data() { return { selectedDateRange: '', pickerOptionsRange: { disabledDate(time) { // 限制日期范围为 2025-01-01 至 2025-12-31 return time.getTime() < new Date('2025-01-01').getTime() || time.getTime() > new Date('2025-12-31').getTime(); }, selectableRange: [ { start: '09:00:00', end: '18:00:00' } ] } }; } }; </script> ``` ### 说明: - `disabledDate(time)`:传入一个函数,返回 `true` 表示该日期被禁用。 - `selectableRange`:用于限制每天的可选时间范围,适用于 `daterange` 类型。 - `v-model`:绑定用户选择的日期或日期范围。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值