我試圖讓firebase回傳的資料串列基本上在螢屏上表示為可過濾標簽的集合。問題是在我的串列視圖中使用 wrap 時,我仍然只得到一個水平的芯片串列。
淺灰色是我追求的,深灰色是被退回的
FutureBuilder _buildSubCategories() {
return FutureBuilder(
future: cats
.doc(widget.catId)
.collection('sub-categories')
.orderBy('name')
.get(),
builder: (ctx, AsyncSnapshot snapshot) {
if (!snapshot.hasData) {
return const Center(child: CircularProgressIndicator.adaptive());
} else {
return ListView.builder(
itemCount: snapshot.data.docs.length,
physics: const NeverScrollableScrollPhysics(),
scrollDirection: Axis.horizontal,
itemBuilder: (ctx, idx) {
// DocumentSnapshot cat = snapshot.data.docs[index];
return Wrap(
children: snapshot.data.docs
.map((item) => ActionChip(
label: Text(item['name']),
))
.toList()
.cast<Widget>(),
);
});
}
});
}

uj5u.com熱心網友回復:
您不需要為此使用串列視圖。你可以簡單地使用Wrap. Wrap 小部件將溢位的小部件推送到下一行
例子:
FutureBuilder _buildSubCategories() {
return FutureBuilder(
future: cats
.doc(widget.catId)
.collection('sub-categories')
.orderBy('name')
.get(),
builder: (ctx, AsyncSnapshot snapshot) {
if (!snapshot.hasData) {
return const Center(child: CircularProgressIndicator.adaptive());
} else {
return Wrap(
children: snapshot.data.docs
.map((item) => ActionChip(
label: Text(item['name']),
))
.toList()
.cast<Widget>(),
);
}
});
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/506370.html
標籤:Google Cloud Collective 扑 列表显示 谷歌云火库
