From 01ffc40686856baa84aec1f92bebcd9fa8aa53a0 Mon Sep 17 00:00:00 2001 From: rex Date: Mon, 24 Jun 2019 19:56:51 +0800 Subject: [PATCH] =?UTF-8?q?[bugfix]=20DatetimePicker:=20=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E5=8A=A8=E6=80=81=E6=9B=B4=E6=96=B0minDate=E6=97=B6=E6=9C=AA?= =?UTF-8?q?=E6=9B=B4=E6=96=B0=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit fix #1718 --- packages/datetime-picker/index.ts | 26 ++++++++++++++++---------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/packages/datetime-picker/index.ts b/packages/datetime-picker/index.ts index fa76a79b..da7a80c5 100644 --- a/packages/datetime-picker/index.ts +++ b/packages/datetime-picker/index.ts @@ -90,24 +90,30 @@ VantComponent({ }, watch: { - value(val: any) { + value: 'updateValue', + type: 'updateValue', + minDate: 'updateValue', + maxDate: 'updateValue', + minHour: 'updateValue', + maxHour: 'updateValue', + minMinute: 'updateValue', + maxMinute: 'updateValue' + }, + + methods: { + updateValue() { const { data } = this; - val = this.correctValue(val); + const val = this.correctValue(this.data.value); const isEqual = val === data.innerValue; if (!isEqual) { this.updateColumnValue(val).then(() => { this.$emit('input', val); }); + } else { + this.updateColumns(); } }, - type: 'updateColumns', - minHour: 'updateColumns', - maxHour: 'updateColumns', - minMinute: 'updateColumns', - maxMinute: 'updateColumns' - }, - methods: { getPicker() { if (this.picker == null) { const picker = (this.picker = this.selectComponent( @@ -193,7 +199,7 @@ VantComponent({ return result; }, - correctValue(value) { + correctValue(value: any) { const { data } = this; // validate value const isDateType = data.type !== 'time';