【发布时间】:2021-10-10 15:51:16
【问题描述】:
我的收藏字段中有一家餐厅,例如,这家餐厅提供单一优惠 '15% 折扣' 我已经在我的 Flutter 应用上展示了这部分。
现在假设我有另一家餐厅有多个优惠{'0': 'DISCOUNT 5%', '1': 'DISCOUNT 10%'} 我将如何在我的应用程序上显示它,我尝试了以下方法但它不起作用
Here is my collection offer field
代码如下:
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
}
【问题讨论】:
标签: firebase flutter google-cloud-firestore state-management flutter-getx