youzan / vant-weapp

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

van-datetime-picker 选择时间时,自己滚动 #3206

Open OkamiyGit opened 4 years ago

OkamiyGit commented 4 years ago

`

预定时间
        <van-cell class="custom-class" border="false" title="{{seleTime}}" is-link bind:click="showPopup" />
        <van-popup show="{{ showDate }}" position="bottom" custom-style="van-datetime-picker" bind:close="onClose">
            <van-datetime-picker type="datetime" formatter="{{ formatter }}"  value="{{ currentDate }}" min-date="{{ minDate }}" 
            max-date="{{ maxDate }}" bind:confirm="onSure" bind:cancel="onCanle" />
        </van-popup>
    </view>

data: { minHour: 10, maxHour: 20, minDate: new Date().getTime(), maxDate: new Date(2030, 10, 1).getTime(), currentDate: new Date().getTime(), minHour: 10, maxHour: 20, formatter(type, value) { if (type === 'year') { return ${value}年; } else if (type === 'month') { return ${value}月; } else if(type==='day'){ return ${value}日; }else if(type==='hour'){ return ${value}时; }else if(type==='minute'){ return ${value}分; } return value; },}

onClose(e) { this.setData({ showDate: false }); },

showPopup() { this.setData({ showDate: true }); }, onSure(e) { //这里只是转化下时间 this.setData({ showDate: false, seleTime: timeUtil.formatTimeTwo(e.detail, 'Y-M-D h:m:s') }); },

onCanle(e) { this.setData({ showDate: false }); }, `

选择完时间会,自己一直在滚动,线上已发布版本都存在这个问题,不知道是哪里的问题,求解,着急, 版本 "dependencies": { "@vant/weapp": "^1.3.1" },

harryxue1991 commented 4 years ago

是不是安卓的会这样,我也遇到了

NiLinli commented 4 years ago

安卓曲面屏出现的概率很大

moonflame commented 4 years ago

安卓手机遇到了相同的问题,PC 端模拟器无问题。 如果按照文档的写法,在 input 事件里写上为控件自身赋值的代码,就会在两个日期之间无限循环地抽风式跳动……

rex-zsd commented 4 years ago

可以上传一下代码片段吗?这个case看起来挺复杂的

zongwong commented 4 years ago

我遇到了这个问题,按住月快速反复拖动,在月列动画还没结束的时候 按住年快速反复拖动 然后松手 年月就反复跳动

moonflame commented 4 years ago

https://gist.github.com/moonflame/2604229aec51f41a69adf82bda94509d 可以看下这个代码片段,安卓手机可以完全复现。

我遇到了这个问题,按住月快速反复拖动,在月列动画还没结束的时候 按住年快速反复拖动 然后松手 年月就反复跳动

如果在 input 事件里,像文档例子中一样写上为控件自己赋值的语句,就会出现这个这个情况,现在估计只能别在里面写赋值。

zongwong commented 4 years ago

https://gist.github.com/moonflame/2604229aec51f41a69adf82bda94509d 可以看下这个代码片段,安卓手机可以完全复现。

我遇到了这个问题,按住月快速反复拖动,在月列动画还没结束的时候 按住年快速反复拖动 然后松手 年月就反复跳动

如果在 input 事件里,像文档例子中一样写上为控件自己赋值的语句,就会出现这个这个情况,现在估计只能别在里面写赋值。

要绑定value才会出现bug,但是min-date我这边没出现问题 安卓10

xiuxiuyifan commented 4 years ago

解决了吗

yzs1228 commented 4 years ago

请问这个问题怎么解决 我也遇到了这个问题

tong822218 commented 4 years ago

哪个大神赶紧解决一下啊😆,项目上线了,急用.

toptgh commented 4 years ago

安卓会出现这个问题,去掉 bind:input="onInput" 可以

luoluoly commented 4 years ago

哪个大神赶紧解决一下啊,项目上线了,急用.

去掉value和 bind:input="onInput"就可以了 van-datetime-picker type="datetime" bind:cancel="onCancle" bind:confirm="onConfirm" min-date="{{ minDate }}" formatter="{{ formatter }}"

wizzeng commented 4 years ago

Same issue

prophetw commented 3 years ago

在没有修复之前如果时间紧迫可以使用小程序官方提供的的picker组件来实现选择器的功能 https://developers.weixin.qq.com/miniprogram/dev/component/picker.html

zzzhanga commented 3 years ago

把bind:input换成bind:change事件就行,再在change事件里使用 let value=event.detail.getColumnValue(0)+':'+event.detail.getColumnValue(1) 获取到选中的值。

HCenggel commented 3 years ago

目前为止还没有解决,bind:input和value全部删除就没有问题了,关键是没法做回显

zxbing commented 3 years ago

啥时候这个问题能修复呢?

WebRookie commented 3 years ago

还没有修复吗?过去一年了啊!!

LCBbest commented 3 years ago

把bind:input换成bind:change事件就行,再在change事件里使用 let value=event.detail.getColumnValue(0)+':'+event.detail.getColumnValue(1) 获取到选中的值。

你这个方法 他有延迟的 选择完时间 要等几秒 才可以回显,要不然还是之前的时间

LCBbest commented 3 years ago

没人维护了吗?都快2年了,还不修复

zzzhanga commented 3 years ago

把bind:input换成bind:change事件就行,再在change事件里使用 let value=event.detail.getColumnValue(0)+':'+event.detail.getColumnValue(1) 获取到选中的值。

你这个方法 他有延迟的 选择完时间 要等几秒 才可以回显,要不然还是之前的时间

是的,但也只能这样暂时解决了,现在都没好吗。。。

zengjiaxu commented 2 years ago

???? 还没解决吗

wjy329 commented 2 years ago

我也遇到了这个问题,不知道该怎么解决,滑动的时候乱跳

cuteCloud commented 2 years ago

即使去掉所有的input监听和赋值 滑动快了 还是有几率会跳回之前的值

xiaoliu28 commented 2 years ago

不纠结了,直接用微信原生的选择器搞定需求。

perchecc commented 2 years ago

还没有解决吗?vant是没人了吗?

Stupidbrid commented 2 years ago

一把鼻涕一把泪,重新在这个基础上封装了一个时间选择器

WangYiBin1 commented 2 years ago

都快23年了,还没解决,多半是废了

landluck commented 1 year ago

https://github.com/youzan/vant-weapp/issues/1688

landluck commented 1 year ago

https://github.com/youzan/vant-weapp/issues/3759

landluck commented 1 year ago

https://github.com/youzan/vant-weapp/issues/4886

landluck commented 1 year ago

https://github.com/youzan/vant-weapp/issues/4025

landluck commented 1 year ago

https://github.com/youzan/vant-weapp/issues/3990

johnsonwong666 commented 11 months ago

5623