簡體   English   中英

FormInput 組件下的 React Native Elements Line

[英]React Native Elements Line underneath FormInput Component

我正在使用 React Native Elements 中的 FormInput 元素,它似乎在每個 FormInput 組件下方生成一行。 一個比另一個更微弱。

在此處輸入圖片說明

表格如下

<View style={styles.container}>
                <Image 
                    style={styles.image}
                    source={app.imageBackground}
                />
                <View style={{ alignItems: 'center' }}>
                    <Image 
                        style={styles.logo}
                        source={app.logo}
                    />
                </View>

                <View  style={styles.cardWrapper}>
                    <View style={styles.card}>
                        <FormInput 
                            inputStyle={styles.textInput}
                            placeholder='user@email.com'
                            autoCapitalize='none'
                            autoCorrect={false}
                            underlineColorAndroid='transparent'
                            placeholderTextColor='white'
                            onChangeText={this.onEmailChange.bind(this)} 
                        />
                        <FormInput 
                            secureTextEntry={true}
                            autoCapitalize='none'
                            placeholder='password'
                            autoCorrect={false}
                            inputStyle={styles.textInput}
                            underlineColorAndroid='transparent'
                            placeholderTextColor = 'white'
                            onChangeText={this.onPasswordChange.bind(this)} 
                        />
                        <FormValidationMessage>{this.renderError()}</FormValidationMessage>
                        {this.renderButton()}

                        <Text style={{color:'white', textAlign:'center'}}>New to Foodspecials?<Text style={{fontWeight:'900'}} onPress={() => this.props.navigation.navigate('SignUp')}> Sign up</Text></Text>
                    </View>
                </View>

            </View>

這是我的風格

const styles = StyleSheet.create({
    container: {
        flex: 1,
        justifyContent: 'center',
    },
    cardWrapper: {
        padding: 20
    },
    card: {

    },
    logo: {
        justifyContent: 'center',
    },
    image: {
        backgroundColor: '#ccc',
        flex: 1,
        position: 'absolute',
        width: '100%',
        height: '100%',
        justifyContent: 'center',
    },
    textInput: {
        height: 50,
        fontSize: 20,
        borderRadius: 50,
        backgroundColor: 'rgba(255, 255, 255, 0.3)',
        color: 'white',
        width: '100%',
        paddingLeft: 20,
        marginTop: 10,
        marginBottom: 10
    },
    button: {
        borderWidth: 2,
        borderColor: 'white',
        marginTop: 10,
        marginBottom: 10
    }
})

我試圖將 0 的 borderWidth 屬性添加到 FormInput ,但這似乎不起作用。

我還嘗試將 borderColor 設置為透明,這也不起作用。

我還注意到,如果我刪除 FormValidationMessage 組件,這兩行都會變得更加明顯。

有解決方法嗎?

我遇到了同樣的問題,並通過添加 borderBottomWidth:0來修復它如下所示:

<Input inputContainerStyle={{borderBottomWidth:0}} />

解決方案是添加一個 input 屬性,

<Input 
   inputContainerStyle={{borderBottomWidth:0}}
     />

您可以通過將“透明”傳遞給 borderColor來更改邊框的顏色,如下所示。

 <Input inputContainerStyle={{ borderWidth: 0, borderColor: "transparent" }}
    placeholder="Test placeholder...."/>

嘗試將每個<FormInput/>放在<View> 然后相應地設置該視圖的樣式。 這些行是<FormInput/>組件的一部分,因此使用 InputStyle 道具進行樣式設置不會完成這項工作。

 <View style={styles.input}> <Input placeholder="Username" returnKeyType="next" /> </View> <View style={styles.input}> <Input placeholder="Password" returnKeyType="go" secureTextEntry /> </View>

我為一個 Input 元素做了這個。 對於 FormInput,您可能會獲得相同的效果。 無論如何,它擺脫了底部邊框。 您使用 inputContainerStyle。

            <Input
                placeholder="Username"
                leftIcon={<FontAwesome name="user-o" size={24} />}
                onChangeText={(username) => this.setState({username})}
                value={this.state.username}
                containerStyle={styles.formInput}
                inputContainerStyle={{borderRadius:10,backgroundColor:'white',borderBottomColor:'white'}}
                />

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM