Reactjs onPress工作所需的两次轻敲
我已经创建了一个autoconplete搜索字段,它使用mapbox API显示位置。我正在使用ListView作为建议列表。当列表出现时,我点击需要选择的地址,在第一次点击时键盘隐藏,在第二次点击时onPress工作 我在想到底出了什么问题Reactjs onPress工作所需的两次轻敲,reactjs,listview,react-native,autocomplete,mapbox,Reactjs,Listview,React Native,Autocomplete,Mapbox,我已经创建了一个autoconplete搜索字段,它使用mapbox API显示位置。我正在使用ListView作为建议列表。当列表出现时,我点击需要选择的地址,在第一次点击时键盘隐藏,在第二次点击时onPress工作 我在想到底出了什么问题 <View style={styles.container}> <View style={styles.searchContainer}>
<View style={styles.container}>
<View style={styles.searchContainer}>
<View style={styles.mapMarkerContainer}>
{mapMarkerIcon}
</View>
<View style={styles.inputContainer}>
<TextInput
style={styles.textinput}
onChangeText={this.searchLocation}
placeholder="Type your address here"
underlineColorAndroid='rgba(0,0,0,0)'
value={this.state.inputVal}
placeholderTextColor="#fff"
/>
</View>
</View>
<View keyboardShouldPersistTaps='always' style={styles.listViewContainer}>
<ListView
dataSource={ds.cloneWithRows(this.state.searchedAdresses)}
renderRow={this.renderAdress}
style={styles.listView}
renderSeparator={this.renderSeparator}
enableEmptySections
/>
</View>
</View>
您应该将keyboardShouldPersistTaps属性移动到ListView,因为它是ScrollView中的一个属性,将继承到ListView: 而不是
<View keyboardShouldPersistTaps='always'
<ScrollView ...>
我将keyboard shoulldPersistTaps
属性移动到ListView,它工作了,谢谢。我也有同样的问题,但我使用了View
而不是ScrollView
。我应该使用哪个道具来消除这个错误?
onListItemClicked= (address) => {
this.props.onAddressGet(address);
console.log(address);
this.setState({
searchedAdresses: [],
inputVal: address.place_name
});
}
<View keyboardShouldPersistTaps='always'
<ScrollView ...>
<View
<ScrollView keyboardShouldPersistTaps='always' ...>