2016-10-03 31 views
0

パスワード入力でonChangeTextに問題があります。私がしたいことの詳細説明:最初に送信ボタンを無効にし、両方の入力フィールドが満たされてから送信ボタンを有効にする場合。これを解決する他の方法がある場合は、共有してください。 onChangeInputため未処理のJS例外:_this2.setStateは関数ではありません

<InputGroup style={styles.inputBox}> 
         <Icon name='ios-person' style={{color: 'white'}}/> 
         <Input placeholder='Email' style={styles.input} 
           placeholderTextColor='rgba(255, 255, 255, 0.6)' 
           value={this.state.username} 
           onChangeText={(text) => this.setState({username: text})} 
           onChange={this.onInputChange} /> 
        </InputGroup> 
        <InputGroup style={styles.inputBox}> 
         <Icon name='ios-unlock' style={{color: 'white'}}/> 
         <Input placeholder='Password' style={styles.input} 
           secureTextEntry={true} 
           placeholderTextColor='rgba(255, 255, 255, 0.6)' 
           value={this.state.password} 
           onChangeText={(text) => this.setState({password: text})} 
           onChange={this.onInputChange} /> 
        </InputGroup> 
        <Button block bordered success style={styles.submitButton} onPress={this.onSignIn} disabled={this.state.submitButtonFlag}> 
         Sign In 
        </Button> 

コード:

onInputChange() { 

    if (this.state.username != null && this.state.password != null) { 
    console.log("this.state.submitButtonFlag: "); 
    this.setState = {submitButtonFlag: false}; 
    console.log(this.state.submitButtonFlag); 
    } 

} 

答えて

1

2つのエラー:正しいこの範囲と

  1. 参照:onChange={() => this.onInputChange()} />

  2. SETSTATE関数である:this.setState({submitButtonFlag: false});

+0

あなたのソリューションのおかげでzvonaは、私はそれをクリアするために2番目のポイントありがとうと間違っています。 –

+0

番号1の太い矢印の機能がトリックです。 –

関連する問題