在平板列表中按下TouchableObacity之后,我遇到了尝试显示模式的问题,但是使用下面的代码却什么也没显示,我什至尝试在按下TouchableOpacity但没有发生任何事情时直接设置状态
setModalVisible(visible) {
this.setState({ modalVisible: visible });
}
renderQues = ({ item }) => {
return (
<View style={{ backgroundColor: '#ddd', marginTop: 20 }}>
<TouchableOpacity onPress={this.setModalVisible(true)}>
<Text style={{
textAlign: 'right', color: '#3A3658',
padding: 10
}} size={15}> {item.question}</Text>
</TouchableOpacity>
<Modal
animationType="slide"
transparent={true}
visible={this.state.modalVisible}
>
<Text style={{ padding: 5 }}>{item.answer}</Text>
<TouchableOpacity style={{ backgroundColor: '#3A3658', marginRight: 10, padding: 8, borderRadius: 5 }}
onPress={this.setModalVisible(false)}>
<Text style={{ color: '#fff' }}>cancel</Text>
</TouchableOpacity>
</Modal>
</View>)
}
我的FlatList
<FlatList
data={this.state.ques}
renderItem={this.renderQues}
keyExtractor={item => item.faq_id}
/>