2016-10-03 53 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

兩個錯誤:

  1. 參考與正確此範圍:onChange={() => this.onInputChange()} />

  2. 的setState是一個函數:this.setState({submitButtonFlag: false});

+0

感謝zvona爲您的解決方案,我犯了第二點感謝清除它的錯誤。 –

+0

1號胖箭頭功能可以做到這一點。 –