React Native有一个TextInput组件可以接受用户输入,我对两者之间的区别感兴趣
onEndEditing (callback that is called when text input ends)
onBlur (callback that is called when the text input is blurred)
当onEndEditing有用时,是否有一个场景场景无法仅使用onBlur来解决?
最佳答案
首先让我说我正在努力寻找这个问题的答案!
我相信这是源于历史,因为它起源于具有本地事件UIControlEventEditingDidEnd
的iOS。这可能是在引入blur
作为抽象之前的命名。
TL:DR;
在我看来,onEndEditing
确实应该被弃用,但是到目前为止,您应该使用它,因为它是最与平台无关的模糊版本。见下文。onBlur
和onEndEditing
都获得一个事件。在iOS上,这两个功能似乎完全相同,并且事件具有本机文本。在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/