如何使两个文本输入彼此通信(React Native)

时间:2019-11-04 21:30:59

标签: react-native

我是React Native的新手,目前有两个文本输入框,我希望当我更改其中一个时,另一个中显示的值也会改变。但是随后您将被允许编辑第二个文本输入,并且这将相应地改变第一个文本输入。等等...

我尝试将占位符设置为值,然后它将随着第一个文本输入的更改而改变,但是只有在您编辑文本框后,它才起作用。

基本上,我无法找出一种使文本输入和输出相互重叠的方法。

1 个答案:

答案 0 :(得分:0)

state = { valueOne: '', valueTwo: '' }

changeValueOne = (valueOne) => {
  this.setState({
    valueOne,
    valueTwo: `${valueOne}-foo`
  })
}

changeValueTwo = (valueTwo) => {
  this.setState({
    valueOne: `${valueTwo}-bar`,
    valueTwo
  })
}

render() {
  const { valueOne, valueTwo } = this.state
  return (
    <View>
      <Input onChangeText={this.changeValueOne} value={valueOne} />
      <Input onChangeText={this.changeValueTwo} value={valueTwo} />
    </View>
  )
}