私のショッピング アプリでは、プロバイダーを使用してユーザーのショッピング アイテムを保存しています。このデータには、製品数、ユニット、カスタムメイドの製品モデルが含まれます。
データを firebase にアップロードするときが来たら、モデルをマップから削除する必要があります。これは、firebase がモデルを実際のデータ型として認識しないためです。それで問題ありません。新しいマップを作成し、プロバイダー マップのすべてをこの新しいマップに追加してから、すべてのカスタム モデルをマップから削除して、firebase にアップロードする準備をします。
問題は.. カスタム モデル データが、新しく作成したマップとプロバイダーの元のマップの両方から削除されており、正直困惑しています。
Map order = {};
Provider.of<Cart>(context, listen: false)
.cartItems[widget.mode]
.forEach((key, value) {
order.addAll({key: value});
});
ここで、新しいマップにすべてを追加します。次に、上記の新しいマップからモデルを削除します
order.forEach(
(key, value) {
value[Cart.STUFF].forEach((k, v) {
v.remove(Cart.FOODMODEL);
});
},
);
そして、ここで混乱が発生します。元のマップからもデータが削除されているからです。
助けが必要です。ありがとう