JS
state = {
autoComplete: [];
value: ''
}
selectValue = (item) => {
console.log('Value is selected");
}
setValue = (value) => {
this.setState({
value
});
}
closeAutocomplete = () => {
console.log("autocomplete is closed");
this.setState({
autoComplete: []
});
}
<Autocomplete
data={this.state.autoComplete}
defaultValue={this.state.value}
onChangeText={(value)=> this.setValue(value)}
onBlur={this.closeAutocomplete}
renderItem={(item) => (
<TouchableOpacity avatar onPress={()=> this.selectValue(item)}>
<View>
<Text>{item}</Text>
</View>
</TouchableOpacity>
)}
/>
从自动完成列表中选择任何项目时,不会触发onPress()而是会触发onBlur。
预期:单击自动完成列表项时必须调用onPress。
问题:点击列表项时调用了onBlur()