gpt4 book ai didi

firebase - Firestore映射到StreamBuilder => ListView.Builder

转载 作者:行者123 更新时间:2023-12-03 04:13:20 28 4
gpt4 key购买 nike

我想显示文档中的歌曲列表(用户单击的歌手)。每首歌曲应加载到列表图块中,但所有歌曲均加载到一个图块中。
并从所有文档(所有歌手)中加载“歌曲列表”。
这是FireStore数据库
DB
这是歌手列表。
singers list
这样一来,在磁贴中仅应显示每个所选歌手的歌曲,而应显示所有歌手的所有歌曲。每位歌手的歌都合而为一
songs list

class SongsList extends StatefulWidget {
@override
_SongsListState createState() => _SongsListState();
}

class _SongsListState extends State<SongsList> {
@override
Widget build(BuildContext context) {
return Scaffold(
body: StreamBuilder(
stream: Firestore.instance.collection('singers').snapshots(),
builder: (
context,
snapshot,
) {
if (snapshot.data == null)
return Center(
child: CircularProgressIndicator(
backgroundColor: Colors.red,
valueColor: new AlwaysStoppedAnimation<Color>(Colors.teal),
),
);
return Container(
decoration: BoxDecoration(
image: DecorationImage(
image: AssetImage('assets/back.png'), fit: BoxFit.contain)),
child: ListView.builder(
itemCount: snapshot.data.documents.length,
itemBuilder: (context, index) {
var result = snapshot.data.documents[index]['songs list'];
return SingleChildScrollView(
child: Padding(
padding: const EdgeInsets.only(
left: 10, right: 10, top: 10, bottom: 0),
child: Container(
height: 50,
width: 300,
decoration: BoxDecoration(
color: Colors.white,
boxShadow: [
BoxShadow(
color: Colors.white.withOpacity(0.5),
spreadRadius: 1.5,
blurRadius: 1.5,
//offset: Offset(0, 1), // changes position of shadow
),
],
borderRadius: BorderRadius.circular(5),
border: Border.all(
color: Colors.red[200],
width: 0.5,
style: BorderStyle.solid)),
child: Row(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
for (var res in result.entries)
Text(
res.key,
style: TextStyle(
fontSize: 20, color: Colors.red[500]),
),
]),
),
),
);
}),
);
},
),
);
}
}

最佳答案

如果只想获取一位歌手的歌曲,则需要指定文档ID来检索一个文档,请对此进行更改:

 stream: Firestore.instance.collection('singers').snapshots(),
到这个:
stream: Firestore.instance.collection('singers').document('aryana sayeed').snapshots(),

关于firebase - Firestore映射到StreamBuilder => ListView.Builder,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63334732/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com