Стереть ключ Listner реагировать на родной - PullRequest
0 голосов
/ 19 февраля 2019

У меня есть два TextInput, которые имеют некоторые значения, такие как поле 1 имеет 47 и поле 2 имеет 3, а общая сумма равна 50. Я хочу, если удалить любое значение box1, а затем изменить значение поля 2.затем В моем коде, если я удаляю первое значение, то не изменяю 2-е значение удаляем, тогда предыдущий результат показан во вставке 2. Пожалуйста, помогите мне исправить это.

Вот мой код: -

 `constructor(props) {
    super(props);
    this.state = {  box1:"47",
                    box2:"3",
    };
  }
  render(){
     return(
        <TextInput
         value={this.state.box1}
         onChangeText={(box1) => this.setState({box1})}
         onKeyPress={this.onChanged}
         />
         <TextInput
         value={this.state.box2}
         onChangeText={(box2) => this.setState({box2})}      
         />   
     )
  }

onChanged=()=>{
let DailyIncome=50;
let DST = parseFloat(this.state.box1);
let result = DailyIncome - DST;

this.setState({
    box2: result.toString()
  });
}`

1 Ответ

0 голосов
/ 19 февраля 2019

Используйте этот код, который вам поможет.

constructor(props) {
        super(props);
        this.state = {  box1:"47",
                        box2:"3",
        };
      }
      render(){
         return(
            <TextInput
             value={this.state.box1}
             onChangeText={(box1) => this.onChangeTextBox1({box1})}
             onKeyPress={this.onChanged}
             />
             <TextInput
             value={this.state.box2}
             onChangeText={(box2) => this.setState({box2})}      
             />   
         )
      }


onChangeTextBox1=(value)=>{
this.setState({box1:value, box2:(50-value)})
}

Это будет показывать всегда добавление 50 в поле, а редактировать значение box1. Используйте это и дайте мне знать

...