firebase - 如何使用 Getx 获取/检索数组 Firestore 并在颤振上显示
问题描述
我的收藏领域有一家餐厅,这家餐厅有一个单一的优惠,例如“15% 折扣”我已经在我的颤振应用程序上展示了这部分。
现在假设我有另一家餐厅有多个优惠{'0': 'DISCOUNT 5%', '1': 'DISCOUNT 10%'}
我将如何在我的应用程序上显示它,我尝试了以下但它没有用
这是代码:
class OfferModel {
String id;
List offer;
OfferModel({
this.id,
this.offer,
});
factory OfferModel.fromJson(Map<String, dynamic> json, elementId) =>
OfferModel(
id: elementId,
offer: json ['offer'],
);
Map<String, dynamic> toJson() => {
"offer": offer,
};
class OfferDetail extends StatelessWidget {
final OfferModel currentOffer;
OfferDetail(this.currentOffer);
final controller = Get.put(OfferDetailController());
@override
Widget build(BuildContext context) {
controller.offer = currentOffer;
Widget offerSection = Container(
child: Text(
currentOffer.offer,
);
return Scaffold(
body: Stack(
children: [
Column(
children: [
Expanded(
child: ListView(
children: [
offerSection,
Padding(
padding:
EdgeInsets.symmetric(vertical: 15, horizontal: 15),
child: Align(
child: ButtonFayda(
title: 'Get offer',
onPressed: () {
controller.offerId = currentOffer.id;
controller.claimOffer();
},
),
alignment: Alignment.bottomCenter,
),
),
],
),
),
],
)
],
),
);
}
}
class OfferDetailController extends GetxController {
var offer = OfferModel();
var offerId;
RxList<OfferModel> offerList = <OfferModel>[].obs;
var isLoading = true.obs;
//rest of the code
}
解决方案
我无法理解您的代码,但我可以理解您的问题如下。
你有这样的对象
Object{
field1 String,
field2 List<String>
}
在您的 Firestore 中,您拥有相应对象的数据。现在您想知道如何获取 field2 数组。
所以这可以使用 List.castFrom(data['field2']) 来实现。
例如
QuerySnapshot<Map<String, dynamic>> data = await FirebaseFirestore.instance.collection('object').get();
List<Object> objList = data.docs.map<Object>((data) =>
new Shop(
field1: data['field1'],
field2: List.castFrom(data['field2'])
)
).toList();
推荐阅读
- r - Shiny 不再接受 xreg 值的反应函数
- c++ - C ++中的布尔运算符NOR
- java - 空对象引用上的错误 android.content.Intent.getExtras()'
- python - 如何使用批处理文件中的参数调用python函数
- git - 如何知道受 git commit 影响的所有 Bazel 目标?
- javascript - 如何在 Markojs 中呈现原始 HTML?
- c# - Xamarin.forms Acr 用户对话框加载指示器未显示
- tensorflow - 将 Keras 分类器中的权重导入 TF 对象检测 API
- python - 如何在查询返回中设置行号等于列名?
- amazon-web-services - 连接到 AWS DocumentDB 的问题