用el-time-picker写一个开始时间选择器,一个结束时间选择器,开始时间选择后,结束时间不能早于开始时间,结束时间选择后,开始时间不能晚于结束时间
时间: 2024-04-29 13:15:41 浏览: 65
带有开始时间和结束时间的日期选择器
3星 · 编辑精心推荐
以下是使用el-time-picker实现开始时间选择器和结束时间选择器的代码:
开始时间选择器:
```html
<el-time-picker v-model="startTime" :picker-options="startPickerOptions"></el-time-picker>
```
```javascript
data() {
return {
startTime: '',
startPickerOptions: {
disabledHours: () => {
if (this.endTime) {
return this.endTime.getHours();
} else {
return [];
}
},
disabledMinutes: (hour) => {
if (this.endTime && hour === this.endTime.getHours()) {
return Array.from({ length: this.endTime.getMinutes() });
} else {
return [];
}
},
disabledSeconds: (hour, minute) => {
if (this.endTime && hour === this.endTime.getHours() && minute === this.endTime.getMinutes()) {
return Array.from({ length: this.endTime.getSeconds() });
} else {
return [];
}
}
}
};
}
```
结束时间选择器:
```html
<el-time-picker v-model="endTime" :picker-options="endPickerOptions"></el-time-picker>
```
```javascript
data() {
return {
endTime: '',
endPickerOptions: {
disabledHours: () => {
if (this.startTime) {
return Array.from({ length: this.startTime.getHours() });
} else {
return [];
}
},
disabledMinutes: (hour) => {
if (this.startTime && hour === this.startTime.getHours()) {
return Array.from({ length: this.startTime.getMinutes() });
} else {
return [];
}
},
disabledSeconds: (hour, minute) => {
if (this.startTime && hour === this.startTime.getHours() && minute === this.startTime.getMinutes()) {
return Array.from({ length: this.startTime.getSeconds() });
} else {
return [];
}
}
}
};
}
```
这段代码中,我们使用了el-time-picker组件来实现开始时间选择器和结束时间选择器。在开始时间选择器中,我们通过设置disabledHours、disabledMinutes和disabledSeconds属性来限制结束时间的选择范围。如果有结束时间,则禁用开始时间中对应的小时、分钟和秒钟;如果没有结束时间,则不禁用任何选项。在结束时间选择器中,我们通过设置disabledHours、disabledMinutes和disabledSeconds属性来限制开始时间的选择范围。如果有开始时间,则禁用结束时间中对应的小时、分钟和秒钟;如果没有开始时间,则禁用所有选项。
阅读全文