因此,我试图将自己的头脑包裹起来反应原生并且看起来并不困难。
我的问题很简单,什么是" e"对象如何使用其属性,例如" e.nativeEvent"和" e.nativeEvent.text" ,以及在什么情况下?
当我测试 TextInput' onChangeText 和 onBlur 道具时,我偶然发现了这个对象。
如下所示,我能够传递一个名为" value"的参数参数。在 onChangeText 道具中,回调处理程序。 但是当我尝试对 onBlur 做同样的事情时,我遇到了问题(我检查了文档,其中没有提到任何关于传递给回调函数的参数的内容处理程序,与 onChangeText 不同。
所以我找到了这个question,它帮助我弄清楚如何使用e.eventNative.text属性访问TextInput中的数据。
render(){
return(
<View>
<Text>indent</Text>
<Text>indent</Text>
<TextInput
style={{height:60, backgroundColor: "#ededed"}} // must define a height for T.I in iOS
placeholder="Enter Text"
value={this.state.textValue}
onChangeText={(value) => this.onChangeText(value)}
/>
<Text>{this.state.textValue}</Text>
{/* on submit editing, will find the callback function to transfer text
when submitting button is pressed */}
<TextInput
style={{height:60, backgroundColor: "skyblue"}}
placeholder="Enter Text"
onBlur={(value) => this.onSubmit(value.nativeEvent.text)}
/>
<Text>{this.state.textSubmitted}</Text>
</View>
);
} }
答案 0 :(得分:0)
onChangeText是TextInputs的特殊事件,其处理程序将TextInput的文本作为初始参数传递给其他事件(因此'value'='ev.nativeEvent.value')。
onBlur事件没有此功能。因此,您需要像平常一样访问TextInput的文本。