diff --git a/packages/date-picker/src/picker.vue b/packages/date-picker/src/picker.vue index fa410a0533..772a9adf03 100644 --- a/packages/date-picker/src/picker.vue +++ b/packages/date-picker/src/picker.vue @@ -409,7 +409,9 @@ export default { showClose: false, userInput: null, valueOnOpen: null, // value when picker opens, used to determine whether to emit change - unwatchPickerOptions: null + unwatchPickerOptions: null, + unwatchPickerMin: null, + unwatchPickerMax: null }; }, @@ -846,12 +848,12 @@ export default { this.picker.toggleAmPm = this.toggleAmPm || false; this.picker.minimum = this.minimum || null; - this.$watch('minimum', (minimum) => { + this.unwatchPickerMin = this.$watch('minimum', (minimum) => { this.picker.minimum = minimum || null; }); this.picker.maximum = this.maximum || null; - this.$watch('maximum', (maximum) => { + this.unwatchPickerMax = this.$watch('maximum', (maximum) => { this.picker.maximum = maximum || null; }); @@ -916,6 +918,14 @@ export default { if (typeof this.unwatchPickerOptions === 'function') { this.unwatchPickerOptions(); } + if (typeof this.unwatchPickerMin === 'function') { + this.unwatchPickerMin(); + this.unwatchPickerMin = null; + } + if (typeof this.unwatchPickerMax === 'function') { + this.unwatchPickerMax(); + this.unwatchPickerMax = null; + } this.picker.$el.parentNode.removeChild(this.picker.$el); } },