从不同组件中获取TextInput值



我在我的应用中有2个反应本机组件,一个是一个具有"完成"按钮的工具栏,在用户完成后按填充表单时按下。
另一种是我需要获取数据的形式本身。
当用户单击"完成"时,我将带有参数的发布请求,但找不到获取数据的整洁方法。
最佳实践是什么?

我的工具栏:

<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>

使用state。您需要将视图绑定到模型=>(状态)。请添加您的代码以获取更好的指南。

每次您按下每次使用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

我认为您的主要问题是您需要在React文档中阅读有关状态的更多信息

https://facebook.github.io/react-native/docs/state.html

当您需要设置状态时。您应该使用setState而不是this.state.data.price = text。状态是一个带有多个键的对象y您的需求修改data内部的一个内部密钥您需要修改所有data键并替换它。

示例:

在您的构造函数中,声明

this.state = { data: {price: 10, name: xxxx} };

如果需要修改数据,您应该做类似的事情。

var dataM = this.state.data;
dataM.price = 200
this.setState({ data: dataM});

相关内容

  • 没有找到相关文章

最新更新