From fa54a19805722b818569c6eeb3cc2b2313272202 Mon Sep 17 00:00:00 2001 From: rex Date: Thu, 9 Jul 2020 14:15:02 +0800 Subject: [PATCH] fix(datetime-picker): update value with origin column after change (#3352) --- packages/datetime-picker/index.ts | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/packages/datetime-picker/index.ts b/packages/datetime-picker/index.ts index c638defb..190cc6f9 100644 --- a/packages/datetime-picker/index.ts +++ b/packages/datetime-picker/index.ts @@ -103,7 +103,7 @@ VantComponent({ methods: { updateValue() { const { data } = this; - const val = this.correctValue(this.data.value); + const val = this.correctValue(data.value); const isEqual = val === data.innerValue; if (!isEqual) { this.updateColumnValue(val).then(() => { @@ -291,13 +291,17 @@ VantComponent({ let value; const picker = this.getPicker(); + const originColumns = this.getOriginColumns(); if (data.type === 'time') { const indexes = picker.getIndexes(); - value = `${+data.columns[0].values[indexes[0]]}:${+data.columns[1] + value = `${+originColumns[0].values[indexes[0]]}:${+originColumns[1] .values[indexes[1]]}`; } else { - const values = picker.getValues(); + const indexes = picker.getIndexes(); + const values = indexes.map( + (value, index) => originColumns[index].values[value] + ); const year = getTrueValue(values[0]); const month = getTrueValue(values[1]); const maxDate = getMonthEndDay(year, month); @@ -324,7 +328,8 @@ VantComponent({ updateColumnValue(value) { let values = []; - const { type, formatter = defaultFormatter } = this.data; + const { type } = this.data; + const formatter = this.data.formatter || defaultFormatter; const picker = this.getPicker(); if (type === 'time') {