React-Native autocomplete-input 中 textInput 中的边框
Borders in textInput in React-Native autocomplete-input
我正在尝试使用包 react-native-autocomplete-input
我尝试了 borderTop : 0 / 和 'transparent' 但它不起作用,我的顶部和侧面仍然有边框。
borderStyle 也不起作用
我明白了:
https://zupimages.net/viewer.php?id=20/03/ovck.bmp
我的代码是这样的:
<ScrollView style={styles.containerScroll}>
<Text style={styles.h1}>{i18n.t("tripsform.title")}</Text>
<Autocomplete
containerStyle={styles.container}
inputContainerStyle={styles.inputContainer}
autoCapitalize="none"
autoCorrect={false}
data={this.findAirports(query_arrival)}
defaultValue={this.findAirports(query_start)}
onChangeText={text => this.setState({ query_start: text })}
placeholder="Enter Start airports"
renderItem={({ airport }) => (
<TouchableOpacity
onPress={() => this.setState({ query_start: airport })}
>
<Text style={styles.h2}>{airport}-</Text>
</TouchableOpacity>
)}
/>
<Autocomplete
containerStyle={styles.container}
inputContainerStyle={styles.inputContainer}
autoCapitalize="none"
autoCorrect={false}
data={this.findAirports(query_arrival)}
defaultValue={this.findAirports(query_arrival)}
onChangeText={text => this.setState({ query_arrival: text })}
placeholder="Enter Arrival airports"
renderItem={({ airport }) => (
<TouchableOpacity
onPress={() => this.setState({ query_arrival: airport })}
>
<Text style={styles.h2}>{airport}-</Text>
</TouchableOpacity>
)}
/>
<Form ref={c => (this._form = c)} type={Trip} options={options} />
<Text>{"\n"}</Text>
<Text>{"\n"}</Text>
<Button
containerStyle={[styles.mybtnContainer]}
style={styles.mybtn}
onPress={this.handleSubmit}
>
{i18n.t("tripsform.item.add").toUpperCase()}
</Button>
<Button
onPress={() => this.props.navigation.navigate("MyTrips")}
containerStyle={[styles.mybtnContainer]}
style={styles.mybtn}
>
Return to my trips
</Button>
<Text>
{"\n"}
{"\n"}
</Text>
</ScrollView>
采用这种风格:
inputContainer: {
minWidth: 300,
width: "90%",
height: 55,
backgroundColor: "transparent",
color: "#6C6363",
fontSize: 18,
fontFamily: "Roboto",
borderBottomWidth: 1,
borderBottomColor: "rgba(108, 99, 99, .7)"
},
如果我能得到任何帮助,那真是太好了,感谢阅读和帮助!
您需要使用 inputContainerStyle
属性 将样式应用于输入。
您还可以使用 containerStyle
围绕自动完成设置容器样式,这样您也不需要用 View
标记包裹 Autocomplete
。
<Autocomplete
inputContainerStyle={styles.inputContainer}
/>
看来那个包是不可能的。
我可以用 'native base autocomplete' 做我想做的事。
所以,它并没有完全回答问题,但它允许做正确的事!
也许这会对某人有所帮助!
您可以将 inputContainer
样式 borderWidth
设置为 0:
// other styles
inputContainer: {
borderWidth: 0,
},
这应该可以解决您的问题。
这应该会给你想要的输出:) :
<Autocomplete
inputContainerStyle={{width:"100%",borderBottomWidth:1}}
inputStyle={{borderWidth:0}}
data={Options}
handleSelectItem={(item,id)=>optionHandler(item.value,id)}
valueExtractor={item => item.value}
/>
我正在尝试使用包 react-native-autocomplete-input
我尝试了 borderTop : 0 / 和 'transparent' 但它不起作用,我的顶部和侧面仍然有边框。 borderStyle 也不起作用
我明白了: https://zupimages.net/viewer.php?id=20/03/ovck.bmp
我的代码是这样的:
<ScrollView style={styles.containerScroll}>
<Text style={styles.h1}>{i18n.t("tripsform.title")}</Text>
<Autocomplete
containerStyle={styles.container}
inputContainerStyle={styles.inputContainer}
autoCapitalize="none"
autoCorrect={false}
data={this.findAirports(query_arrival)}
defaultValue={this.findAirports(query_start)}
onChangeText={text => this.setState({ query_start: text })}
placeholder="Enter Start airports"
renderItem={({ airport }) => (
<TouchableOpacity
onPress={() => this.setState({ query_start: airport })}
>
<Text style={styles.h2}>{airport}-</Text>
</TouchableOpacity>
)}
/>
<Autocomplete
containerStyle={styles.container}
inputContainerStyle={styles.inputContainer}
autoCapitalize="none"
autoCorrect={false}
data={this.findAirports(query_arrival)}
defaultValue={this.findAirports(query_arrival)}
onChangeText={text => this.setState({ query_arrival: text })}
placeholder="Enter Arrival airports"
renderItem={({ airport }) => (
<TouchableOpacity
onPress={() => this.setState({ query_arrival: airport })}
>
<Text style={styles.h2}>{airport}-</Text>
</TouchableOpacity>
)}
/>
<Form ref={c => (this._form = c)} type={Trip} options={options} />
<Text>{"\n"}</Text>
<Text>{"\n"}</Text>
<Button
containerStyle={[styles.mybtnContainer]}
style={styles.mybtn}
onPress={this.handleSubmit}
>
{i18n.t("tripsform.item.add").toUpperCase()}
</Button>
<Button
onPress={() => this.props.navigation.navigate("MyTrips")}
containerStyle={[styles.mybtnContainer]}
style={styles.mybtn}
>
Return to my trips
</Button>
<Text>
{"\n"}
{"\n"}
</Text>
</ScrollView>
采用这种风格:
inputContainer: {
minWidth: 300,
width: "90%",
height: 55,
backgroundColor: "transparent",
color: "#6C6363",
fontSize: 18,
fontFamily: "Roboto",
borderBottomWidth: 1,
borderBottomColor: "rgba(108, 99, 99, .7)"
},
如果我能得到任何帮助,那真是太好了,感谢阅读和帮助!
您需要使用 inputContainerStyle
属性 将样式应用于输入。
您还可以使用 containerStyle
围绕自动完成设置容器样式,这样您也不需要用 View
标记包裹 Autocomplete
。
<Autocomplete
inputContainerStyle={styles.inputContainer}
/>
看来那个包是不可能的。
我可以用 'native base autocomplete' 做我想做的事。 所以,它并没有完全回答问题,但它允许做正确的事!
也许这会对某人有所帮助!
您可以将 inputContainer
样式 borderWidth
设置为 0:
// other styles
inputContainer: {
borderWidth: 0,
},
这应该可以解决您的问题。
这应该会给你想要的输出:) :
<Autocomplete
inputContainerStyle={{width:"100%",borderBottomWidth:1}}
inputStyle={{borderWidth:0}}
data={Options}
handleSelectItem={(item,id)=>optionHandler(item.value,id)}
valueExtractor={item => item.value}
/>