Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Bug Report] 键盘输入“Enter” 会导致 Dialog 的被 Confirm #13164

Open
baijunjie opened this issue Oct 18, 2024 · 6 comments
Open

[Bug Report] 键盘输入“Enter” 会导致 Dialog 的被 Confirm #13164

baijunjie opened this issue Oct 18, 2024 · 6 comments

Comments

@baijunjie
Copy link

baijunjie commented Oct 18, 2024

Reproduction Link

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

Vant Version

4.9.3

Describe the Bug

官方文档中的 Demo 就可以重现,在右侧的 Preview 中,打开一个 Dialog,然后敲击键盘的“Enter”键,Dialog会被关闭。
这应该不属于Bug,可能是开发人员为 Dialog 实现的键盘辅助能力。
但是这个功能在移动设备中并没有实际意义。
同时在使用扫码仪的设备上会引发一个Bug,因为大部分扫码设备都是通过 keyborad 事件进行输入的,并且会在输入完成时输入“Enter”, 这就会导致 Dialog 被确认。

是否可以提供一个选项来关闭这个键盘控制的能力?

Reproduce Steps

image image 官方文档中的 Demo 就可以重现,在右侧的 Preview 中,打开一个 Dialog,然后敲击键盘的“Enter”键,Dialog会被关闭。

Device / Browser

No response

Copy link

Hello @baijunjie. Please provide an online reproduction demo by codesandbox or a minimal GitHub repository. Issues marked with need reproduce will be closed if there is no activity within 3 days. For background, please refer to Why reproductions are required.

你好 @baijunjie, 我们需要你提供一个在线的重现示例,以便于我们帮你排查问题。你可以通过点击 codesandbox 创建,或者提供一个最小化的 GitHub 仓库。如果 3 天内未跟进,此 issue 将会被自动关闭。背景请参考 为什么需要最小重现

@inottn
Copy link
Collaborator

inottn commented Oct 18, 2024

可以提供一个在移动端可以复现的链接

@baijunjie
Copy link
Author

可以提供一个在移动端可以复现的链接

你好,要完整复现这个问题需要外接扫码设备,这本身和代码无关,所以单独建立的线上最小demo没有意义。
官方文档中的Demo就可以复现,只要敲击回车键,Dialog就会被关闭。

@inottn
Copy link
Collaborator

inottn commented Oct 18, 2024

可以提供一个在移动端可以复现的链接

你好,要完整复现这个问题需要外接扫码设备,这本身和代码无关,所以单独建立的线上最小demo没有意义。 官方文档中的Demo就可以复现,只要敲击回车键,Dialog就会被关闭。

我想确认一下扫码设备这个场景下的交互流程是怎么样的,Dialog 是在键盘输入前就会弹出吗

@baijunjie
Copy link
Author

baijunjie commented Oct 18, 2024

可以提供一个在移动端可以复现的链接

你好,要完整复现这个问题需要外接扫码设备,这本身和代码无关,所以单独建立的线上最小demo没有意义。 官方文档中的Demo就可以复现,只要敲击回车键,Dialog就会被关闭。

我想确认一下扫码设备这个场景下的交互流程是怎么样的,Dialog 是在键盘输入前就会弹出吗

是这样的,我们的业务中,用户使用扫码枪扫描一个有效的条形码后,会有一个Dialog的确认,用于让用户确认是否要变更该码的状态。但是如果此时用户继续使用扫码枪扫描这一个条形码,这个Dialog就会被确认。这在扫码枪识别比较灵敏的时候非常容易发生。
由于扫码枪的输入行为是系统级的,所以仅通过网页前端无法解决这个问题。

@inottn
Copy link
Collaborator

inottn commented Oct 18, 2024

了解了,我觉得可以提供一个选项

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants