diff --git a/example/pages/datetime/index.js b/example/pages/datetime/index.js index e0f6fdee..fb9e2d00 100644 --- a/example/pages/datetime/index.js +++ b/example/pages/datetime/index.js @@ -13,5 +13,9 @@ Page({ nativeChange ({detail}) { this.setData({pickerView2: detail.value.join('-')}) + }, + + change ({ detail: { value, date } }) { + console.log('value is', value, 'and date is', date) } }) \ No newline at end of file diff --git a/packages/datetime-picker/README.md b/packages/datetime-picker/README.md index 2c06559c..7e4280d8 100644 --- a/packages/datetime-picker/README.md +++ b/packages/datetime-picker/README.md @@ -35,7 +35,7 @@ | not-use | `Array` | `否` | 无 | 不需要显示的列 可选择`years`, `months`, `days`, `hours`, `minutes`, `seconds`中的多个 | | picker-view | `Boolean` | `否` | 无 | 如果为 true,相当于 picker-view 组件 | | format | `String` | `否` | YYYY-MM-DD HH:mm:ss | 设置选中的时间显示的格式,支持 _YYYY,yyyy,YY,yy,MM,M,DD,dd,D,d,HH, hh,H,h,mm,m,ss,s_ | -| bindchange | `String` | `是` | 无 | 用户点击`确认`触发该事件,返回值为按“年,月,日,时,分,秒”顺序的数组,可以通过`detail.value`获取 | +| bindchange | `String` | `是` | 无 | 用户点击`确认`触发该事件,返回值为按“年,月,日,时,分,秒”顺序的数组,可以通过`detail.value`获取;3.0.8 后新增 date 值,表示当前选择时间的对象 | | bindcancel | `String` | `否` | 无 | 用户点击`取消`触发该事件 | ### 方法 diff --git a/packages/datetime-picker/date-picker.js b/packages/datetime-picker/date-picker.js index 29c6db97..ba266e56 100644 --- a/packages/datetime-picker/date-picker.js +++ b/packages/datetime-picker/date-picker.js @@ -28,12 +28,11 @@ module.exports = class DatePicker { date = date || this._date || new Date // toUTCString ISO 格式部分 ios 手机会失败 - if (typeof date === 'string' && date.indexOf('-') > 0) { + if (new Date(date).toString() === 'Invalid Date' && typeof date === 'string' && date.indexOf('-') > 0) { date = iso2utc(date) } let d = new Date(date); - console.log(d); let y = d.getFullYear(); let m = d.getMonth() + 1; diff --git a/packages/datetime-picker/index.js b/packages/datetime-picker/index.js index 35fb54b9..aa674458 100644 --- a/packages/datetime-picker/index.js +++ b/packages/datetime-picker/index.js @@ -149,8 +149,13 @@ Component({ return +item[value[index]]; }); + let day = data.slice(0, 3) + let time = data.slice(3, 6) + let date = new Date(`${ day.join('/') } ${ time.join(':') }`) + this.triggerEvent('change', { - value: data + value: data, + date }); // 手动触发 columnchange