Vant: [Bug Report] Dialog全局组件有时候无法弹出确认对话框

Created on 26 Dec 2019  ·  4Comments  ·  Source: youzan/vant

1
2
3

设备 / 浏览器

华为Mate30 Pro、360F4s

Vant 版本

2.3.3

Vue版本

2.6.10

重现链接

https://youzan.github.io/vant/#/zh-CN/dialog

描述问题

商品列表多个记录,每条记录里面有个兑换按钮,点击这个按钮本该弹出确认对话框,现在遇到的问题是有时候对话框无法弹出来,页面闪了一下,直接调用了confirm或cancel里面的方法。
经过多次测试,chrome没法复现这个问题,通过HBuilderX打包安装在手机后,新的华为Mate30 Pro和比较老的360F4S都出现了这个问题,非必现。

All 4 comments

没遇到过这种情况,建议自行排查下

最近使用Uploader也是,华为的Mate30可以打开图库但无法上传,after-read等都方法不执行,其他手机都可以正常使用

没遇到过这种情况,建议自行排查下

原因已经找到,列表使用的是better-scroll,better-scroll自己派发了一个click事件,布局是左右两列布局,当点击”兑换“按钮,如果这时候对话框取消或确定按钮在屏幕中的位置盖住我们这个”兑换“按钮时,就出现这种对话框不出现的假象,其实是已经出现了的,只是出现的一瞬间立马就消失了,因为手指这时候的位置即在”兑换“按钮上,又在对话框的取消或确定按钮上,这一瞬间也相当于点击了取消或确定按钮,所以导致立马消失。。。

明白了👌 那就是 better-scroll 触发事件导致的,可以在项目里想办法规避下。

跟组件无关,先 close 咯

Was this page helpful?
0 / 5 - 0 ratings