問題タブ [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.

0 投票する
1 に答える
669 参照

firebase - Flutter/Firestore:スクロール時にストリームするアイテムを追加する方法(フェッチが完了したときにスクロール位置を保持する)?

チャット ( ListView) があり、必要なときにのみ読み込めるメッセージがあります。

そのため、チャットが最初に読み込まれるときに最後の n メッセージを読み込み、ユーザーが上にスクロールしたときに古いメッセージも取得したいと考えています。

新しいメッセージが firebase コレクションに到着するたびに、ListView. これは、最後の n メッセージのストリームを取得する a を使用して実現しましたStreamBuilder。ここで、n は、より多くのメッセージをロードするために増やすことができる状態に格納された変数です (最後の n メッセージのストリームを取得する関数の引数です)。 .

しかし、私の現在の実装では、上にスクロールするとより多くのメッセージがフェッチされてリストビューに追加されても、すぐに一番下に戻るという問題があります (リストビューが再構築され、スクロール位置が保持されないため)。どうすればこれを防ぐことができますか?