問題タブ [stream-builder]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
firebase - Flutter/Firestore:スクロール時にストリームするアイテムを追加する方法(フェッチが完了したときにスクロール位置を保持する)?
チャット ( ListView
) があり、必要なときにのみ読み込めるメッセージがあります。
そのため、チャットが最初に読み込まれるときに最後の n メッセージを読み込み、ユーザーが上にスクロールしたときに古いメッセージも取得したいと考えています。
新しいメッセージが firebase コレクションに到着するたびに、ListView
. これは、最後の n メッセージのストリームを取得する a を使用して実現しましたStreamBuilder
。ここで、n は、より多くのメッセージをロードするために増やすことができる状態に格納された変数です (最後の n メッセージのストリームを取得する関数の引数です)。 .
しかし、私の現在の実装では、上にスクロールするとより多くのメッセージがフェッチされてリストビューに追加されても、すぐに一番下に戻るという問題があります (リストビューが再構築され、スクロール位置が保持されないため)。どうすればこれを防ぐことができますか?