我的代碼中有一個 FutureBuilder,它根據從 Firestore 獲取的資料生成一個小部件串列。我希望螢屏可以滾動而沒有任何溢位錯誤。這是我的代碼:
FutureBuilder<QuerySnapshot>(
future:
FirebaseFirestore.instance.collection('Assignments').get(),
builder: (BuildContext context,
AsyncSnapshot<QuerySnapshot> snapshot) {
if (snapshot.hasData) {
return Column(
children: snapshot.data?.docs.map((doc) {
return Column(
children: [
Subject(
dataMap: doc.data() as Map<dynamic, dynamic>),
Divide()
],
);
}).toList() ??
[],
);
} else {
// or your loading widget here
return Text("Loading....");
}
},
),
這是我在螢屏上看到的輸出:

我希望這個螢屏是可滾動的。我使用了 SingleChildScrollview 但這使全屏可滾動,而我只希望“分配”標題下方的小部件串列可滾動。
uj5u.com熱心網友回復:
您可以使用一個ListView而不是多個Column. AListView是可滾動的,因此您不會因小部件溢位而遇到任何問題。該ListView.Builder建構式將itemCount與builder在那里你只需回傳視窗小部件的每個串列項。
那么您的 FutureBuilder 將如下所示:
FutureBuilder<QuerySnapshot>(
future:
FirebaseFirestore.instance.collection('Assignments').get(),
builder: (BuildContext context,
AsyncSnapshot<QuerySnapshot> snapshot) {
if (snapshot.hasData) {
return ListView.builder(
itemCount: snapshot.data.docs.length,
itemBuilder: (context, index) {
return Column(
children: [
Subject(
dataMap: snapshot.data.docs[index].data() as Map<dynamic, dynamic>),
Divide()
],
);
},
);
} else {
// or your loading widget here
return Text("Loading....");
}
},
),
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/383024.html
標籤:扑 列表显示 谷歌云firestore
上一篇:如何管理ListViewflutter中不同小部件的狀態?
下一篇:限制惰性列中的專案
