gpt4 book ai didi

javascript - React Native - 捕获所有触摸事件但 Touchable 不冒泡

转载 作者:行者123 更新时间:2023-12-05 07:48:26 26 4
gpt4 key购买 nike

我制作了一个工具提示,我希望它在工具提示外发生触摸事件时关闭。但是我不想制作不透明的 View ,因为我仍然希望触摸能够作用于所按下的任何内容。

我尝试将我的应用包装在 TouchableWithoutFeedback 中:

<TouchableWithoutFeedback onPress={(e) => this.onAppTouch(e)}>

如果按下的元素不是 Touchable,此方法有效,但否则事件似乎被吞没,不会冒泡到顶层 onPress

有没有办法让它工作或者有其他选择?谢谢。

编辑:这似乎是 Touchables 的一个限制(它们吞下了手势)- https://github.com/facebook/react-native/issues/6796

最佳答案

如果您在使用 TouchableHighlight 的可触摸背景组件之后渲染工具提示组件,由于组件的渲染顺序,您将保留可触摸工具提示特征。

所以你将拥有:

|工具提示1| |工具提示2||背景可触摸|

如果你想根据你的状态隐藏或显示它:

var touchOn = (<TouchableHighlight>Background Component</TouchableHighlight>)
var touchOff = <Your other component/>

然后控制状态并呈现一个或另一个写入条件:

{this.state.openTooltip ? touchOn : touchOff}

关于javascript - React Native - 捕获所有触摸事件但 Touchable 不冒泡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38632613/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com