使用日期选择器时,要求不能选择小于当前时间的
解决方法:日期控制,使用的 picker-options,时间使用的rule验证规则(因selectableRange,使得每天的都受控制,不能达到要求)
详细代码如下:
<el-form ref="form" :model="form" class="mt-20px">
<el-form-item label="发布时间" prop="timing" :verify="timeValidateFunc">
<el-date-picker
v-model="form.timing"
type="datetime"
placeholder="选择日期时间"
default-time="12:00:00"
format="yyyy-MM-dd HH:mm:ss"
value-format="yyyy-MM-dd HH:mm:ss"
:picker-options="pickerOptions"
>
</el-date-picker>
</el-form-item>
</el-form>
#pickerOptions
data() {
return {
form: {
timing: '',
},
pickerOptions: {
disabledDate(time) {
return time.getTime() < Date.now();
},
// selectableRange: '15:00:00 - 23:59:59',
},
};
},
#验证规则
timeValidateFunc() {
return [
{
validator: (rule, value, callback) => {
const start = new Date(this.form.timing).getTime();
if (!value) {
callback(new Error('请选择时间'));
} else if (start < Date.now()) {
callback(new Error('发布时间要大于当前时间!'));
} else {
callback();
}
},
},
];
},
实际效果提示:当前时间:2022-10-17 11:37
选择时间点击确定,提示