一般情况下,结束日期要大于开始日期的(也就是说,用户只能选择大于开始日期的日期)
html:
<el-form-item label="执行时间:" class="implemenTime" prop="implemenTime">
<el-date-picker
v-model="form.implemenTime"
type="date"
placeholder="开始日期"
:picker-options="pickerOptionsStart"
</el-date-picker>
</el-form-item>
<span class="toTime">至</span>
<el-form-item class="implemenTime1" prop="implemenTime1">
<el-date-picker
v-model="form.implemenTime1"
type="date"
placeholder="结束日期"
:picker-options="pickerOptionsEnd"
</el-date-picker>
</el-form-item>
data () {
return {
pickerOptionsStart: { // 开始日期对日期的判断,即结束日期不能小于起始日期
disabledDate: time => {
const endDateVal = this.form.implemenTime1 // 注意这里是结束日期
if (endDateVal) {
return time.getTime() > new Date(endDateVal).getTime()
pickerOptionsEnd: { // 结束日期对日期的判断,即结束日期不能小于起始日期
disabledDate: time => {
const beginDateVal = this.form.implemenTime // 注意这里是开始日期
if (beginDateVal) {
return (
time.getTime() <
new Date(beginDateVal).getTime() + (8.64e7 * 7) // 结束时间只能选择延后七天(8.64e7表示一天)
form: { // 表单数据
implemenTime: '',
implemenTime1: ''
多尝试,多行动,收获,总是不会缺席的。
一般情况下,结束日期要大于开始日期的(也就是说,用户只能选择大于开始日期的日期)html:<el-form-item label="执行时间:" class="implemenTime" prop="implemenTime"> <el-date-picker v-model="form.implemenTime" type="date" placeholder="开始日期" :picker-options="pickerOptionsStart"
<template v-if="mustInfo.idcardValidPeriod != '-1'">//这是做 是否显示及必填判断
<van-field v-model="authInfo.startDate"
label-class="authTitle"
readonly
input-align="right"
<div id="date_time_picker">
<van-button plain type="primary" @click="showPopFn()">点击选择日期</van-button>
<van-field v-model="timeValue" p...
方法:点击vant-field这个input框,打开vant-pop弹窗,change事件当下拉改变值得时候触发
注意:readonly="readonly"这一属性可以防止ios手机上触发自带键盘和vant组件键盘两个同时出现的情况
<div class="date-ti...
1、首先,在el-date中,需要注意v-model设置,themetime是自定义的名字,随便写一个就行
<el-date-picker
v-model="ruleForm.themetime"
type="datetimerange"
//计算日期间隔天数
DateDiff(sDate1, sDate2){ //sDate1和sDate2是2006-12-18格式
var aDate, oDate1, oDate2, iDays
aDate = sDate1.split("-")
oDate1 = n
<label for="end">结束日期:</label>
<input id="end" type="date" v-model="endDate">
<p v-if="isValid">开始日期不能晚于结束日期。</p>
</template>
<script>
import { ref, watch } from 'vue';
export default {
setup() {
const startDate = ref('');
const endDate = ref('');
const isValid = ref(false);
watch([startDate, endDate], ([start, end]) => {
if (start && end) {
isValid.value = new Date(start) <= new Date(end);
return {
startDate,
endDate,
isValid
</script>
在上面的示例中,我们使用了 `ref` 来创建了三个响应式变量 `startDate`、`endDate` 和 `isValid`。然后,我们使用 `watch` 监听 `startDate` 和 `endDate` 的变化,并在回调函数中对它们进行校验。如果开始日期晚于结束日期,那么 `isValid` 就会被设置为 `false`,否则为 `true`。最后,我们在模板中使用 `v-if` 条件渲染来显示校验结果。
[Vue warn]: Error in v-on handler: “TypeError: Cannot read properties of undefined (reading ‘value‘)
47167