【发布时间】:2019-08-18 17:42:19
【问题描述】:
我已经创建了反应原生模式,但是当用户尝试点击它时,TouchableOpacity 和按钮没有被点击,为什么会这样?
代码:(第 1 部分)
<Modal
animationType="slide"
transparent={false}
visible={this.state.modalVisible}
onRequestClose={() => {
Alert.alert('Modal has been closed.');
}}>
<View style={{marginTop: 22}}>
<View>
<FilterScreen/>
<TouchableHighlight
onPress={() =>
this._setModalVisible(!this.state.modalVisible)
}>
<Text>Hide Modal</Text>
</TouchableHighlight>
</View>
</View>
</Modal>
FilterScreen 组件:
return(
<View>
<TouchableOpacity>
<Text>Inside Filter screen</Text>
</TouchableOpacity>
</View>
)
在上面的代码中,我添加了 FilterScreen 组件,它里面有 touchableOpacity 但是当模态打开时我无法点击 toucableopacity 组件,它只能在模态中显示它,但 onClick 不起作用。
代码:(第 2 部分)
<Modal
animationType="slide"
transparent={false}
visible={this.state.modalVisible}
onRequestClose={() => {
Alert.alert('Modal has been closed.');
}}>
<View style={{marginTop: 22}}>
<View>
<TouchableOpacity>
<Text>Inside Filter screen</Text>
</TouchableOpacity>
<TouchableHighlight
onPress={() =>
this._setModalVisible(!this.state.modalVisible)
}>
<Text>Hide Modal</Text>
</TouchableHighlight>
</View>
</View>
</Modal>
如果我在 Modal 中添加 touchableOpacity ,上面的代码就会运行,但是 filterscreen 中的相同代码不能通过添加组件来工作,为什么会这样?
注意:第 1 部分无效,但第 2 部分代码有效,为什么会这样?
【问题讨论】:
-
“TouchableOpacity 仅显示而 onclick 不起作用”是什么意思?但是你没有定义任何东西。你只在 TouchableHighlight 中拥有它,而不是在 touchable opacity 中
-
@TyroHunter 第 1 部分代码和第 2 部分代码都相同,但有一些小的更改,但在我的情况下,第 1 部分代码不起作用,但第 2 部分代码有效,为什么会这样?
标签: javascript reactjs react-native