React Native 有一个 TextInput 组件来接受用户输入,我对两者之间的区别很感兴趣
onEndEditing
Callback that is called when text input ends.
onBlur
Callback that is called when the text input is blurred.
是否存在仅使用
onBlur
无法解决的场景? , 什么时候 onEndEditing
有用?
最佳答案
首先让我说我正在努力寻找这个问题的答案!
我相信这是 Root 于历史的,因为它起源于具有本地事件 UIControlEventEditingDidEnd
的 iOS。 .这可能是 blur
之前的命名被引入作为一个抽象。
TL:博士; onEndEditing
在我看来,真的应该弃用它,但现在你应该使用它,因为它是最与平台无关的模糊版本。见下文。
两者 onBlur
和 onEndEditing
得到一个事件。在 iOS 上,这两个似乎做完全相同的事情,并且事件具有 native 文本。在Android中,它是两个不同的事件,只有其中一个可以访问文本。对我来说,这似乎是一个错误。
注意Android onEndEditing之间的区别和 Android onBlur .
// this is undefined on Android
onBlur={(e) => alert(e.nativeEvent.text)}
因此,如果在模糊期间阅读文本,您可以通过 onEndEditing
获得跨平台可用性。目前。见 this rnplay查看操作系统的差异
关于react-native - onEndEditing 和 onBlur 的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34053315/