From da2ac2378bedecd038dd4dffaf929996079fe0f8 Mon Sep 17 00:00:00 2001 From: mengxiong10 <15623530290@163.com> Date: Mon, 2 Dec 2019 11:47:21 +0800 Subject: [PATCH] feat: add the second parameter to `disabled-date` (#385) --- src/calendar/calendar-panel.vue | 7 +++++-- src/time/time-panel.vue | 7 +++++-- src/time/time-range.js | 7 +++++-- 3 files changed, 15 insertions(+), 6 deletions(-) diff --git a/src/calendar/calendar-panel.vue b/src/calendar/calendar-panel.vue index 361ba7ed..a834d71d 100644 --- a/src/calendar/calendar-panel.vue +++ b/src/calendar/calendar-panel.vue @@ -221,8 +221,11 @@ export default { } this.innerCalendar = calendarDate; }, + isDisabled(date) { + return this.disabledDate(new Date(date), this.innerValue); + }, emitDate(date, type) { - if (!this.disabledDate(new Date(date))) { + if (!this.isDisabled(date)) { this.$emit('select', date, type); } }, @@ -325,7 +328,7 @@ export default { return classes.concat(this.getClasses(cellDate, this.innerValue, classes.join(' '))); }, getStateClass(cellDate) { - if (this.disabledDate(new Date(cellDate))) { + if (this.isDisabled(cellDate)) { return 'disabled'; } if (this.innerValue.some(v => v.getTime() === cellDate.getTime())) { diff --git a/src/time/time-panel.vue b/src/time/time-panel.vue index 5cf297c4..99fa332b 100644 --- a/src/time/time-panel.vue +++ b/src/time/time-panel.vue @@ -133,9 +133,12 @@ export default { }, }, methods: { + isDisabled(date) { + return this.disabledTime(new Date(date), this.innerValue); + }, handleSelect(value, type) { const date = new Date(value); - if (!this.disabledTime(new Date(value))) { + if (!this.isDisabled(value)) { this.$emit('select', date, type); } }, @@ -144,7 +147,7 @@ export default { }, getClasses(value) { const cellDate = new Date(value); - if (this.disabledTime(new Date(value))) { + if (this.isDisabled(value)) { return 'disabled'; } if (cellDate.getTime() === this.innerValue.getTime()) { diff --git a/src/time/time-range.js b/src/time/time-range.js index 010dee3d..7253e686 100644 --- a/src/time/time-range.js +++ b/src/time/time-range.js @@ -49,10 +49,13 @@ export default { this.emitChange(type, 1); }, disabledStartTime(date) { - return this.disabledTime(date, 0); + return this.disabledTime(date, [this.startValue, this.endValue], 0); }, disabledEndTime(date) { - return date.getTime() < this.startValue.getTime() || this.disabledTime(date, 1); + return ( + date.getTime() < this.startValue.getTime() || + this.disabledTime(date, [this.startValue, this.endValue], 1) + ); }, }, render() {