0

私のショッピング アプリでは、プロバイダーを使用してユーザーのショッピング アイテムを保存しています。このデータには、製品数、ユニット、カスタムメイドの製品モデルが含まれます。

データを 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);
    });
  },
);

そして、ここで混乱が発生します。元のマップからもデータが削除されているからです。

助けが必要です。ありがとう

4

0 に答える 0