我在touchableopacity中具有自定义行项目的flatlist。我想在可触摸式上有多个Onpress,以便每个孩子的视野都能处理他们受人尊敬的工作。问题是,在按下孩子视图时,它可以完成工作,但父级onPress
也将被执行。如何停止?
<TouchableOpacity onPress={ () => this.doSomething()}>
<Text>Some content</Text>
<Icon name="trash" size={20} onPress={this.onDeleteItem(item)}/>
<TouchableOpacity>
在另一个单词中,如何在用户按垃圾图标时仅执行onDeleteItem
?
任何建议都感谢。
您将必须使用本机基础的容器才能正确使用zindex。由于Zindex,我也遭受了分配。然后使用容器正常工作。
添加子里函数
e.preventDefault()
在Suc示例中
<TouchableOpacity onPress={() => this.doSomething()}>
<Text>Some content</Text>
<Icon name="trash" size={20} onPress={(e) => {
e.preventDefault()
this.onDeleteItem(item)
}}/>
<TouchableOpacity>
将您的第一个Onpress移至文本,或者比最外部容器更合适的地方。
<TouchableOpacity>
<Text onPress={ () => this.doSomething()} >Some content</Text>
<Icon name="trash" size={20} onPress={this.onDeleteItem(item)}/>
<TouchableOpacity>
无法避免在父touchable touchable上避免事件侦听器,因为它包裹了所有内容。您需要添加一些容器/内容(本地基础)才能使其更大。