firebase - 是否可以在小部件中放置 Firebase 查询
问题描述
嗨,我想获取 firebase 数据并将其显示在图像滑块中。我已附上我的代码。目前 ia 传递了一些资产图像。要求是从 Firebase 获取图像并将其显示在滑块中。谁能让我知道我该怎么做。
Widget image_slider_carousel = Container(
height: 250,
child: Carousel(
boxFit: BoxFit.cover,
images: [
AssetImage('images/abc.jpg'),
AssetImage('images/abc.jpg'),
AssetImage('images/abc.jpg'),
AssetImage('images/abc.jpg'),
AssetImage('images/abc.jpg'),
],
),
);
return MaterialApp(
debugShowCheckedModeBanner: false,
home: SafeArea(
child: Scaffold(
appBar: AppBar(backgroundColor: Colors.red.withGreen(10),
title: Padding(
padding: const EdgeInsets.all(1),
child: Text('KartOfill',style: TextStyle(color: Colors.white),
),
),
titleSpacing: 50.0,
),
body: SingleChildScrollView(
scrollDirection: Axis.vertical,
child: Container(
height: 1350,
color: Colors.white,
child: Column(
children: <Widget>[
image_slider_carousel, //// image carousel Widget
解决方案
使用 aFutureBuilder
获取 URL 并使用NetworkImage()
而不是AssetImage()
,如下所示:
FutureBuilder<QuerySnapshot>(
future: Firestore.instance.collection("AllimageSlider").getDocuments(),
builder: (context, AsyncSnapshot<QuerySnapshot> snapshot) {
if(snapshot.data != null)
return Text("No Data!);
else {
List _docs = snapshot.data.documents;
List<NetworkImage> _imgs = List();
for(int i=0;i<_docs.length;i++)
_imgs.add(new NetworkImage(_docs[i]["imageUrl"]));
return Carousel(
fit: BoxFit.cover,
images: _imgs,
);
}
},
)
我很确定有更好的方法可以_imgs
使用类似的东西生成列表.forEach()
,但我忘记了如何使用它。
也检查一下。
推荐阅读
- python-3.x - python子进程不继承虚拟环境
- anaconda - Anaconda 在中国的可用性
- ios - 用于视频通话的 iOS PIP(画中画)是私有 API 吗?
- java - 有没有办法从只有一个框架矩形中制作多个未连接的矩形(在整个框架中有多个位置)?
- java - 如何获得三个并行数组相加的最大值的索引?
- javascript - 如何比较 Google App Scripts 中的字符串
- css - IE11 中的 CSS 缩放/变换行为
- python - 使用 cv2 混合 2 个图像时如何去除光影边框?
- ruby-on-rails - 设计:没有用户登录时的自定义重定向
- javascript - 分配 RegExp 时是否需要使用“新”一词?