Метод onPressact-native-swipeout отключает содержащий метод onPress компонента
У меня есть следующий метод визуализации плоского списка, который при нажатии на элемент списка вызовет метод this._onPress:
render() {
return (
<TouchableOpacity onPress={this._onPress} >
<View style={styles.bookItem} >
<Image style={styles.cover} source={{uri:this.props.coverURL}}/>
<View style={styles.info} >
<Text style={styles.title}>{this.props.title} </Text>
<Text style={styles.author}>{this.props.author}</Text>
<Text style={{height: 8}}/>
</View>
<View style={styles.rightIcon}>
<Icon name="chevron-right" size={28} color={'#AAAAAA'} />
</View>
</View>
</TouchableOpacity>
);
}
После того, как я добавил тег swipeout в следующем коде, swipeout работает, но нажатие на элемент больше не вызывает метод this._onPress:
render() {
// Buttons
var swipeoutBtns = [
{
text: 'Delete',
onPress: this._buttonPress
}
]
return (
<TouchableOpacity onPress={this._onPress} >
<Swipeout right={swipeoutBtns} >
<View style={styles.bookItem} >
<Image style={styles.cover} source={{uri:this.props.coverURL}}/>
<View style={styles.info} >
<Text style={styles.title}>{this.props.title} </Text>
<Text style={styles.author}>{this.props.author}</Text>
<Text style={{height: 8}}/>
</View>
<View style={styles.rightIcon}>
<Icon name="chevron-right" size={28} color={'#AAAAAA'} />
</View>
</View>
</Swipeout>
</TouchableOpacity>
);
}
Это ограничение реакции-родного-смахивания?
1 ответ
Если бы вы использовали Swipeout в качестве первого тега и сенсорный в качестве следующего вложенного тега, я думаю, это сработало бы. Тем не менее, кажется, что функциональность Swipeout делает его менее отзывчивым