需求:选择开始时间,或者在开始时间已存在的情况下;结束时间下拉日期选择框展示从开始日期展示;而不是当前日期,并且结束时间下拉框日期要禁用开始时间之前的日期。
<el-form-item label="开始时间" prop="beginTime"><!-- :picker-options="pickerOptions" --><el-date-pickerv-model="formData.beginTime"v-elDateFormateditablevalue-format="timestamp"type="date"placeholder="请选择日期"clearablestyle="width: 180px":disabled="formData.stageNature== 'point'"@change="changeEndTime"/></el-form-item><el-form-item label="结束时间" prop="endTime"><el-date-pickerv-model="formData.endTime"v-elDateFormateditablevalue-format="timestamp"type="date"placeholder="请选择日期"clearablestyle="width: 180px":disabled="formData.stageNature == 'point'":picker-options="pickerOptions"/></el-form-item>
pickerOptions: {disabledDate: (time) => {return time.getTime() < this.formData.beginTime}},
这样写,只能让结束时间下拉框日期,开始日期之前的日期都禁用;但并没有实现从12-13号的日期展示,翻看文档查找,default-value这个属性可以设置显示的时间。
给结束时间添加这个属性: :default-value="defaultDateVal"
监听开始时间的变化,然后给defaultDateVal赋值
watch: {'formData.beginTime': {handler(newValue, oldValue) {if (newValue.beginTime && newValue.beginTime !== '') {if (newValue.beginTime) {this.defaultDateVal = newValue.beginTime}} else {this.formData.beginTime = ''this.defaultDateVal = ''}},immediate: true,deep: true}},
//在开始时间发生改变时,清空endTime changeEndTime(time) {this.formData.endTime = ''},