5

我正在使用多输入组件来捕获 MFA 代码。想想六个相同的框,当您键入时,它会移动到下一个框,并在完成时自动提交。

我们通过从一开始就一次填写一个代码来独特地处理粘贴逻辑,这非常有效,并且可以让用户粘贴到任何输入字段中。

问题是,当使用谷歌键盘(GBoard - Pixl 手机原生)时 - 剪贴板功能似乎不会触发实际粘贴,而是尝试触发某种 onChange 事件或一系列 onChange 事件。

因此,例如,如果您的剪贴板中有 123456 并且您按下剪贴板按钮,则更改处理程序会以“1”而不是“123456”的 onPaste 触发。

我想知道是否有人遇到过类似的问题以及您是如何解决的。我已经查看了 navigator.clipboard 路线 - 但这需要提示用户提供权限,并且我仍然需要唯一标识用户键盘,因为这会触发正常的复制粘贴(正常工作)

4

1 回答 1

0

我的同事找到了一个解决方案,当等于 codeLength 时,特定的 handleChange 行为等于 handlePaste 行为e.target.value.length(在这种情况下表示来自 gBoard 的粘贴)。希望这对可能遇到此问题的其他人有所帮助。

于 2022-01-12T16:36:21.657 回答