我在TouchableOpacity中有自定义行项目换行的FlatList。我想在TouchableOpacity中有多个onPress,这样每个子视图都可以处理他们受尊敬的工作。问题是,在按下子视图时它会完成它的工作,但父级onPress
也会被执行。如何制止?
<TouchableOpacity onPress={ () => this.doSomething()}>
<Text>Some content</Text>
<Icon name="trash" size={20} onPress={this.onDeleteItem(item)}/>
<TouchableOpacity>
换句话说,当用户按下垃圾桶图标时,如何仅执行onDeleteItem
?
任何建议都表示赞赏,谢谢。
答案 0 :(得分:1)
将您的第一个onPress移动到Text,或者比最外面的容器更合适。
<TouchableOpacity>
<Text onPress={ () => this.doSomething()} >Some content</Text>
<Icon name="trash" size={20} onPress={this.onDeleteItem(item)}/>
<TouchableOpacity>
Theres无法避免父TouchableOpacity上的事件侦听器,因为它包装了所有内容。您需要添加一些容器/内容(NativeBase)来进行更多模块化。
答案 1 :(得分:0)
为了正确使用zIndex,必须使用基于本机的容器。由于zIndex,我也遭受了分配。然后使用容器,一切正常。