0

scrollEnabledスクロールが特定の位置に到達したときにReact Native ScrollViewのbool値を変更するにはどうすればよいですか?RNでscrollEnabledをFalseに動的に設定するScrollView

私はScrollView内にScrollViewを持っていますが、内側のScrollViewは外側のScrollViewのため応答しません。内側のScrollViewは、scrollEnabled paramが外側のScrollViewのFalseに設定されているときに機能します。私の考えは、動的に外側のScrollViewをscrollEnabled={false}に設定することです。どうすればいいの?

+0

達成しようとしているものは何ですか? –

+1

状態を使用します。 'scrollEnabled = {this.state.scrollEnabled}' then this.setState({scrollEnabled:false}); – eden

答えて

0

ScrollView成分

おかげで、プロペラコールバック関数onScroll: ({nativeEvent: {contentOffset: {y}}, contentSize: {height}})を有しています。

あなたの状態でscrollEnabled変数がある可能性があります。それ以外の場合はcontentOffset.ycontentSize.height以上、false以上の場合はtrueに設定してください。

setStateコールが不要であることを確認してください。以前の状態が新しい状態とまったく同じであっても、コンポーネントが毎回再レンダリングされるからです。

0

スクロールビュー/リストビューにrefを入力してください。以下を使用してscrollEnabled値を変更します。

render() { 
    return <ScrollView ref="scrollView" />; 
} 

onSomeEvent() { 
    this.refs.scrollView.setScrollEnabled(true); // will enable scroll 
} 
関連する問題