From eaa2f430f3190cc76f2749f07bb71a326319d322 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E5=BB=BA=E4=B8=9C?= <762022369@qq.com> Date: Tue, 10 Jul 2018 15:42:21 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=20DatePicker=20?= =?UTF-8?q?=E7=BB=84=E4=BB=B6=E8=AE=BE=E7=BD=AE=E5=88=9D=E5=A7=8B=E6=97=B6?= =?UTF-8?q?=E9=97=B4=E6=97=B6=E6=8A=A5=E9=94=99=E7=9A=84=E9=97=AE=E9=A2=98?= =?UTF-8?q?=20(#350)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/datetime-picker/index.js | 51 +++++++++++++++++-------------- 1 file changed, 28 insertions(+), 23 deletions(-) diff --git a/packages/datetime-picker/index.js b/packages/datetime-picker/index.js index fec63d65..35fb54b9 100644 --- a/packages/datetime-picker/index.js +++ b/packages/datetime-picker/index.js @@ -24,6 +24,7 @@ Component({ if (/^[0-9]+$/.test(value)) { value = +value } + !this._inited && this._init() this.updateDate(value) } }, @@ -36,32 +37,36 @@ Component({ transPos: [0, 0, 0, 0, 0, 0] }, attached() { - this.use = {}; - - ['years', 'months', 'days', 'hours', 'minutes', 'seconds'].forEach((item) => { - if ((this.data.notUse || []).indexOf(item) === -1) { - this.use[item] = true - } - }); - - this.picker = new DatePicker(this.data.date) - - let { dataList, selected } = this.picker.getData(this.data.date) - - // 鬼他么知道为什么 dataList, selected 不能一起 setData - this.setData({ - use: this.use, - dataList - }, () => { - this.setData({ - selected - }) - }); - - this._indexs = selected + !this._inited && this._init() }, methods: { + _init () { + this._inited = true + this.use = {}; + + ['years', 'months', 'days', 'hours', 'minutes', 'seconds'].forEach((item) => { + if ((this.data.notUse || []).indexOf(item) === -1) { + this.use[item] = true + } + }); + + this.picker = new DatePicker(this.data.date) + + let { dataList, selected } = this.picker.getData(this.data.date) + + // 鬼他么知道为什么 dataList, selected 不能一起 setData + this.setData({ + use: this.use, + dataList + }, () => { + this.setData({ + selected + }) + }); + + this._indexs = selected + }, updatePicker(updateData = []) { let _updateData = {};