我将React Native与Native Base库结合使用。我需要一个onPress事件来触发Native Base'键盘打开时ListItem(相当于TouchableOpacity)。
我现在必须单击一次才能关闭键盘然后我可以按ListItem。
下面的内容标记等同于ScrollableView:
use
答案 0 :(得分:32)
我其实只是想出来了。我添加了keyboardShouldPersistTaps ='总是'支持我的列表,除了内容标记:
<Content keyboardShouldPersistTaps='always' keyboardDismissMode='on-drag'>
<List>
<ListItem style={styles.inspectionsItemDivider} itemDivider>
<TextInput
autoFocus={true}
ref={(input) => { this.titleSearch = input }}
placeholder='Start typing...'
multiline={true}
onChangeText={this.setSearchText.bind(this)}
value={this.getSearchValue()}/>
</ListItem>
<View style={styles.searchContainer}>
<Text style={styles.recentText}>Recommended Descriptions</Text>
<List keyboardShouldPersistTaps='always' dataArray={this.state.searchedDescriptions}
renderRow={(description) =>
<ListItem button onPress={() => this.setInformationDescription(description)}>
<Text>{description}</Text>
</ListItem>
</List>
</View>
</List>
</Content>
答案 1 :(得分:0)
对于我来说,对于新的Google员工,我有一个带有onPress属性和searchBar的清单。我想即使在键盘按下的情况下也要按该行,并且只能通过双击来完成。最后,通过使用清单的“ keyboardShouldPersistTaps”解决了该问题:
Hide_Soft_Keyboard=()=>{
Keyboard.dismiss();
}
....
<List>
<FlatList
keyboardShouldPersistTaps = "always"
...
renderItem={({item}) => (
<ListItem
...
...
onPress={() =>{this.Hide_Soft_Keyboard(); this.props.navigation.navigate('Screen2')}}
/> ) }
/>
</List>