![](/img/trans.png)
[英]React Native TouchableHighlight ignores the first click event
[英]TouchableHighlight inside Viewpager taking page-change event as click in react-native ios
我們在我們的應用程序中使用了view pager
( react-native-community/react-native-viewpager
),每個頁面有 3 個部分,所有 3 個部分都是可點擊的,為了使其可點擊,我們使用了TouchableHighlight
。
因此,每當我通過滑動更改頁面時。 如果我的滑動TouchableHighlight
在IOS
TouchableHighlight
,它會將其視為點擊,否則在android
它工作正常。
發布此信息以幫助像我這樣的其他用戶。
來自這個庫的開發者的回答。
嘿嘿,你可以使用 onPageScrollStateChanged 方法,來阻止按鈕交互。
switch(pageScrollState){
case "idle": enableButton();
default: disableButton();
}
或者我已經使用了這種方法。
this.state = {
shouldEnableClick: true,
};
pageScroll = (event) => {
draggingValue = event.nativeEvent.offset
isNotStill = (draggingValue == 0 || draggingValue == 1) ? true : false
{Platform.OS == 'ios' && this.changeValue(isNotStill)}
}
changeValue(isNotStill) {
if (this.state.shouldEnableClick !== isNotStill) {
this.setState({ shouldEnableClick: isNotStill })
}
}
在組件中,我正在使用它
let enableCLick = this.state.shouldEnableClick
let clickAction = () => this.myAction()
<TouchableHighlight
onPress={enableCLick && clickAction}/>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.