youzan / vant-weapp

轻量、可靠的小程序 UI 组件库
https://vant.pro/vant-weapp/
MIT License
17.76k stars 3.48k forks source link

[Bug Report] DatetimePicker filter分钟时,结果不存在值时出错 #2983

Closed haliuhei closed 4 years ago

haliuhei commented 4 years ago

设备

iphonex

VantWeapp 版本

1.2.0

基础库版本

2.9.5

请提供核心代码片段链接

https://github.com/youzan/vant-weapp/tree/dev/example/pages/datetime-picker

描述问题

官方的实例代码,当currentDate 的 minute为空时,组件将无法选择其他时间段。

wxml:

<van-datetime-picker

type="datetime" value="{{ currentDate }}" min-date="{{ minDate }}" max-date="{{ maxDate }}" bind:input="onInput" bind:cancel="onClose" filter="{{ filter }}"

js :

data:{ minDate: new Date().getTime(), maxDate: new Date().getTime() 24760601000, currentDate: new Date().getTime(), filter(type, options) { if (type === 'minute') { return options.filter(option => option % 20 === 0) }

  return options;
}

}

rex-zsd commented 4 years ago

Jietu20200426-175230-HD 实测应该是没问题,要注意currentDatetype应该是匹配的。 type=datetimecurrentDate是时间戳, type=timecurrentDate是字符串12:00

herfrain commented 3 years ago

同有问题,使用filter过滤时(如 option%30===0,即只显示00和30分钟 ),minDate设为当前时间(如minDate是3点40),那么这时候是分钟那一列是没有选项可以滑动的(因为3:00和3:30已经过了),然后其他列也滑动不了了。

herfrain commented 3 years ago

同有问题,使用filter过滤时(如 option%30===0,即只显示00和30分钟 ),minDate设为当前时间(如minDate是3点40),那么这时候是分钟那一列是没有选项可以滑动的(因为3:00和3:30已经过了),然后其他列也滑动不了了。

之前是1.6.1版本,升级到1.6.4版本后好像解决了