我的应用程序中有2个本机组件,其中一个是工具栏,其中包含" Done"按钮,在用户填写表格时按下
另一个是从我需要获取数据的表格本身
当用户点击"完成"我发送带有参数的帖子请求,但我找不到一种简洁的方法来获取数据
这是什么最佳做法?
我的工具栏:
<TopToolbar text='Upload new item'
navigator={this.props.navigator} state={this.state} donePage={'true'}/>
在工具栏组件中,我有完成按钮:
<TouchableHighlight style={styles.done} onPress={() =>{this.state.text=this.props.state.data.price}} underlayColor='#4b50f8'>
<Image source={require('./Images/Path 264.png')}/>
</TouchableHighlight>
,其中一个文字输入是:
<TextInput placeholder='Price*' style={styles.text} onChangeText={(text) => { this.state.data.price = text }}></TextInput>
答案 0 :(得分:3)
使用state
。您需要将视图绑定到model =&gt; (州)。请添加您的代码以获得更好的指南。
每次按下,新角色都需要使用onChangeText
示例:
class UselessTextInput extends Component {
constructor(props) {
super(props);
this.state = { text: 'Useless Placeholder' };
}
render() {
return (
<TextInput
style={{height: 40, borderColor: 'gray', borderWidth: 1}}
onChangeText={(text) => this.setState({text})}
value={this.state.text}
/>
);
}
}
按下Done
按钮时。 TextInput
值将存储在this.state.text
了解更多信息:https://facebook.github.io/react-native/docs/textinput.html
我认为您的主要问题是您需要阅读反应文档中有关状态的更多信息
https://facebook.github.io/react-native/docs/state.html
当您需要设置状态时。您应该使用setState
而不是this.state.data.price = text
。状态是一个具有多个键的对象,您需要修改data
内的一个内部键,您需要修改所有data
键并替换它。
示例:
在构造函数中声明
this.state = { data: {price: 10, name: xxxx} };
如果需要修改数据,你应该做类似的事情。
var dataM = this.state.data;
dataM.price = 200
this.setState({ data: dataM});