在android

时间:2017-10-14 11:38:15

标签: android input react-native

我最近一直关注udemy上的原生教程,并在Android v6.0上遇到了问题。

我在TextInput中包含一个名为Input的自定义LoginForm.js组件,每当我输入输入字段时,整个文本都会被清除。我怀疑问题是由value中包含的LoginForm.js属性引起的,因为当我删除它时,它似乎工作正常。

我还没能解决这个问题。任何帮助表示赞赏!

LoginForm.js

class LoginForm extends Component {

    state = { email: '' };

    render() {
        return (
            <Card>
                <CardSection>
                    <Input
                        value={this.state.email}
                        label='Email'
                        placeHolder='Enter email to login'
                        onChangeText={() => { email => this.setState({ email }) }}
                    />
                </CardSection>

                <CardSection>
                </CardSection>


                <CardSection>
                    <Button>
                        Login
                    </Button>
                </CardSection>
            </Card>
        );
    }
};

Input.js

const Input = ({ onChangeText, value, label, placeHolder }) => {

     return (
         <View>
             <Text>{label}</Text>
             <TextInput
                 autoCorrect={false}
                 value={value}
                 style={styles.textInputStyle}
                 placeholder={placeHolder}
                 onChangeText={onChangeText} />
         </View>
     ); };

修改 以下评论的解决方案

我不得不替换:

onChangeText={() => { email => this.setState({ email }) }}

onChangeText={ (email) => this.setState({ email }) }

0 个答案:

没有答案