固定データ テーブルの無限スクロール機能を実装する必要があります。API ドキュメントを確認しましたが、ユーザーがテーブルの最後までスクロールしてもイベントは送出されません。役立つと思われる唯一のイベントは onScrollEnd ですが、このイベントは scrollX と scrollY を返します。ScrollY は非常に巨大です。この数値を使用して、ユーザーが最後までスクロールしていることを検出する方法がわかりません。固定データテーブルを使用して無限スクロール機能を実装する方法を教えてもらえますか? ありがとう
1 に答える
0
そのようなコンポーネントに無限スクロール用の適切な API がないのは残念です。解決策はこれです(しかし、それは醜いです):
onScrollEnd() は scrollY 値を返します。この値をコンポーネントの状態で永続化する必要がありますthis.state.scroll
。各 onScrollEnd で、等しいかどうかを確認する必要があります。
this.state.scroll === nextState.scroll && nextState.scroll !== 0 // you dont want to load dada on scrollTop
.
これが当てはまる場合は、追加のデータをロードし、ストアまたは所有するものを更新して、コンポーネントを再レンダリングできます。
大きな問題: onScrollEnd() 関数は非常に遅いです :( デバウンス/スロットリングを行うかもしれません?
于 2017-01-04T10:07:06.037 に答える