要求如下:
1、若选择开始时间为今天,则时、分默认当前时间;2、若开始时间为明天及以后,则时、分默认8:30;3、结束时间默认5:00
过程中发现组件没有监听时间发生改变的方法(change方法并不能监听到时间发生改变)
使用了定制日期单元格的方法
具体实现代码如下:
<a-col :span="12">
<a-form-item label="开始时间" name="taskStartTime">
<a-date-picker :disabled="viewDisable" placeholder="请选择开始时间" show-
time :showNow="showNow1"
:disabled-date="disabledDate1" :disabled-time="disabledDateTime"
format="YYYY-MM-DD HH:mm"
valueFormat="YYYY-MM-DD HH:mm:ss" v-
model:value="formState.taskStartTime" @ok="ok(formState.taskStartTime)">
<template #dateRender="{ current }">
<div class="ant-picker-cell-inner" @click="TimeChange(current)">
{{ current.date() }}
</div>
</template>
</a-date-picker>
</a-form-item>
</a-col>
<a-col :span="12">
<a-form-item label="完结时间" name="taskEndTime">
<a-date-picker :disabled="viewDisable" show-time :showNow="showNow1" :disabled-date="disabledDate"
:disabled-time="disabledDateTime" format="YYYY-MM-DD HH:mm"
valueFormat="YYYY-MM-DD HH:mm:ss"
placeholder="请选择完结时间" v-model:value="formState.taskEndTime"
@ok="ok(formState.taskEndTime)">
<template #dateRender="{ current }">
<div class="ant-picker-cell-inner" @click="TimeChange1(current)">
{{ current.date() }}
</div>
</template>
</a-date-picker>
</a-form-item>
</a-col>
const TimeChange = (val:any) => {
if (new Date(dayjs(val).format('YYYY-MM-DD'))>new Date()) {
formState.value.taskStartTime=dayjs().format('YYYY-MM-DD 08:30:00')
}else {
formState.value.taskStartTime=dayjs().format('YYYY-MM-DD HH:mm:ss')
}
}
const TimeChange1 = (val:any) => {
formState.value.taskEndTime=dayjs().format('YYYY-MM-DD 17:00:00')
}