element-Ui中日期组件的再次创新
控制结束时间大于开始时间
el-form-item label="开始时间:" prop="startTime"
el-date-picker
v-model="forminv.startTime"
type="datetime"
:picker-options="startDatePicker"
size="small" :clearable="clearable"
/el-date-picker
/el-form-item
el-form-item label="结束时间" prop="endTime"
el-date-picker
v-model="forminv.endTime"
type="datetime"
:picker-options="endDatePicker"
size="small" :clearable="clearable"
/el-date-picker
picker-options 当前时间日期选择器特有的选项参考下表
在picker-options里对时间进行限制
data () {
return {
startDatePicker: this.beginDate(),
endDatePicker: this.processDate()
} }
methods: {
beginDate () {
const self = this
return {
disabledDate (time) {
if (self.forminv.endTime) { // 如果结束时间不为空,则小于结束时间
return new Date(self.forminv.endTime).getTime() < time.getTime()
} else {
// return time.getTime() > Date.now()//开始时间不选时,结束时间最大值小于等于当天
}
}
}
},
processDate () {
const self = this
return {
disabledDate (time) {
if (self.forminv.startTime) { // 如果开始时间不为空,则结束时间大于开始时间
return new Date(self.forminv.startTime).getTime() > time.getTime()
} else {
// return time.getTime() > Date.now()// 开始时间不选时,结束时间最大值小于等于当天
}
}
}
}
}
如下图所示
结束时间和开始时间按照一定规则进行展示出现
结束时间一定,开始时间选择不会超过结束时间:
开始时间一定,结束时间不会早于开始时间: