在Vue和Element UI的环境下,要实现一个可以选择尖峰平谷时间段的组件,可以使用el-time-picker
组件来选择开始和结束时间,并使用一些逻辑来限制时间的选择。以下是一个简化的实现:
<template>
<div>
<el-time-picker
v-model="startTime"
:picker-options="startPickerOptions"
placeholder="选择开始时间"
@change="checkTime"
>
</el-time-picker>
<el-time-picker
v-model="endTime"
:picker-options="endPickerOptions"
placeholder="选择结束时间"
@change="checkTime"
>
</el-time-picker>
</div>
</template>
<script>
export default {
data() {
return {
startTime: '',
endTime: '',
startPickerOptions: {
selectableRange: '06:00:00 - 17:00:00' // 或者根据实际情况设置可选时间段
},
endPickerOptions: {
selectableRange: '06:00:00 - 17:00:00'
}
};
},
methods: {
checkTime() {
if (this.startTime && this.endTime) {
// 这里可以添加更多的校验逻辑,例如确保时间间隔是合理的等
if (this.endTime < this.startTime) {
this.$message.error('结束时间不能早于开始时间');
this.endTime = ''; // 重置结束时间
}
}
}
}
};
</script>
在这个例子中,我们定义了两个el-time-picker
组件,分别用于选择开始时间和结束时间。我们还设置了startPickerOptions
和endPickerOptions
来限制时间选择范围,例如,只允许用户选择上午6点到下午5点之间的时间。通过监听change
事件,我们可以在用户选择时间时进行校验,确保结束时间不早于开始时间。