【问题标题】:How to trigger onSelectionChange only when caret moves but input has not changed?仅当插入符号移动但输入未更改时如何触发 onSelectionChange?
【发布时间】:2021-10-07 12:45:24
【问题描述】:

我在我的 React Native 应用程序中有一个用例(尝试实现提及),我需要在 onSelectionChange 事件上调用一个函数,仅当输入中的文本没有更改但插入符号被移动时。

目前,我在编写时也会调用 onSelectionChange 函数,但我需要仅在移动插入符号而不在输入中写入任何内容时调用它。

这可能吗?抱歉,因为我解释了我需要什么,所以我真的没有任何代码可以显示它,但是我没有找到任何东西来检查插入符号是否在没有添加任何新文本的情况下被移动?

【问题讨论】:

  • 也许只是获取处理函数中的当前字段值,并将其与前一个值进行比较 - 如果它们相等,则什么都不做......?
  • @CBroe onSelectionChange 在您键入新字母时没有 currentValue,不幸的是只有旧值。
  • 您可能不得不将 oninput 与 onselectionchange 混合使用

标签: javascript reactjs react-native events input


【解决方案1】:

你应该试试 onblur 之类的东西

https://reactnative.dev/docs/textinput#onendediting

https://reactnative.dev/docs/textinput#onblur

这会在你离开字段时触发,你可以在回调方法中编写你的验证。

【讨论】:

  • 不确定 onblur 与光标移动有什么关系
  • 在此期间,该字段在任何时候都不会模糊。真的不明白这里的想法是什么。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-11-13
  • 1970-01-01
  • 2019-12-28
  • 1970-01-01
  • 2016-04-25
  • 1970-01-01
相关资源
最近更新 更多