简单的一个小功能,看效果吧先
但是选择了未来时间不会禁用分钟
<el-date-picker
value-format="YYYY-MM-DD HH:mm"
time-format="HH:mm"
v-model="addForm.startTime"
type="datetime"
placeholder="请选择时间"
:disabled-date="disabledDate"
:disabled-hours="disabledHour"
:disabled-minutes="disabledMinute"
@change="changeStarTime"
/>
// 禁用所有今天的日期之前的日期
const disabledDate = (time) => {
return time.getTime() < Date.now()- 24 * 60 * 60 * 1000;
};
// 禁用今天之前的所有小时
const disabledHour = () => {
const currentHour = new Date().getHours();
return [...Array(currentHour).keys()];
};
// 禁用当前小时之前的所有分钟
const disabledMinute = () => {
const now = new Date();
const currentHour = now.getHours();
const currentMinute = now.getMinutes();
const selectedDate = new Date(addForm.startTime);
const selectedHour = selectedDate.getHours();
const selectedDateOnly = selectedDate.toDateString();
if (selectedDateOnly === now.toDateString()) {
if (selectedHour === currentHour) {
return [...Array(currentMinute).keys()];
}
}
return [];
};