您的位置:首页 > 新闻 > 会展 > el-time-select 动态增加时间

el-time-select 动态增加时间

2025/10/28 9:29:23 来源:https://blog.csdn.net/m0_52244931/article/details/141832611  浏览:    关键词:el-time-select 动态增加时间

在这里插入图片描述

<template><div><div v-for="(item, index) in timeSlots" :key="index"><el-time-select placeholder="起始时间" v-model="item.startTime" :picker-options="{start: '00:00',step: '00:15',end: '23:59',}"></el-time-select><el-time-select placeholder="结束时间" v-model="item.endTime" :picker-options="{start: '00:00',step: '00:15',end: '24:00',minTime: item.startTime}"></el-time-select><el-button type="danger" @click="removeTimeSlot(index)">删除</el-button></div><el-button type="primary" @click="addTimeSlot">增加</el-button><el-button type="success" @click="saveTimeSlots">确定</el-button></div>
</template><script>
export default {data() {return {timeSlots: [{startTime: '',endTime: ''}]};},methods: {addTimeSlot() {if (this.timeSlots.length >= 10) {this.$message.error('最多只能设置10条规则');return;}const newEndTime = this.timeSlots[this.timeSlots.length - 1].endTime || '';this.timeSlots.push({startTime: newEndTime,endTime: ''});},removeTimeSlot(index) {this.timeSlots.splice(index, 1);},saveTimeSlots() {if (this.timeSlots.some(slot => !slot.startTime || !slot.endTime)) {this.$message.error('每条规则数据不能为空');return;}for (let i = 0; i < this.timeSlots.length; i++) {const start = this.parseTime(this.timeSlots[i].startTime);const end = this.parseTime(this.timeSlots[i].endTime);if (start >= end) {this.$message.error(`${i + 1}条的开始时间必须小于结束时间`);return;}if (i > 0 && this.timeSlots[i - 1].endTime > this.timeSlots[i].startTime) {this.$message.error('上一条的结束时间要小于等于下一条的开始时间');return;}}console.log('保存的时间段:', this.timeSlots);},parseTime(time) {const [hours, minutes] = time.split(':').map(Number);return hours * 60 + minutes;},}
}
</script><style scoped>
.el-time-select {margin-right: 10px;
}
</style>

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com