我有一个<TextInput/>
设置了defaultValue
,还有一个按钮,可以触发并将defaultValue
<TextInput>
传递到其他地方。
但是,如何将<TextInput/>
的{{1}}传递给defaultValue
的{{1}}方法?
这就是我想要实现的目标:
onPress
答案 0 :(得分:3)
首先,render
方法无法返回多个节点。我认为<TextInput/>
应该由<TouchableHighlight/>
组件包装,例如:
render() {
return (
<TouchableHighlight onPress={this.sendOff}>
<TextInput
defaultValue='PassMeIn'
onChange={this.changeName}
value={this.state.nameNow}
/>
</TouchableHighlight>
)
}
这样就可以将道具从<TouchableHightlight>
传递到<TextInput
以用作defaultValue
,并且您可以在<TouchableHighlight>
中访问它} 零件。
答案 1 :(得分:2)
您可以将defaultValue存储在新状态中,然后可以在两个位置访问它
constructor(props) {
super(props);
this.state = {
//...other state
defaultValue: "PassMeIn"
};
//...other code
sendOff() {
//...do things with this.state.defaultValue
}
render() {
return (
<TextInput
defaultValue={this.state.defaultValue}
onChange={this.changeName}
value={this.state.nameNow}
/>
<TouchableHighlight onPress={this.sendOff}/>
)
}