Firestore удаляет данные на флаттер при добавлении новых данных - PullRequest
0 голосов
/ 30 марта 2020

Привет, я занимаюсь разработкой приложения. У меня есть список, который я только что создал методом прикосновения, когда пользователь щелкает по элементу в списке, он сохраняет данные в пожарном хранилище, но когда пользователь щелкает по другому элементу, он удаляет текущий и добавляет элемент, по которому я щелкнул. просто хотите сохранить все выбранные объекты в магазине, если у вас есть предложения, пожалуйста, дайте мне знать, спасибо

это первый нажатый элемент

this is second clicked item it keeps always last clicked data

это второй нажатый элемент, он сохраняет данные о последнем нажатом]

Firestore.instance.runTransaction((Transaction transaction) async {
    await transaction.set(Firestore.instance.collection("cart").document("LIihBLtbfuJ8Dy640DPd"), {
      foodItem.name : {
        'itemName': foodItem.name,
        'imgUrl': foodItem.imageAssetPath,
        'itemPrice': foodItem.price,
        'quantity': '1',
      }
    });});

Ответы [ 2 ]

0 голосов
/ 30 марта 2020

Как мы говорили в комментариях в последнее время, вы должны использовать update вместо set, так как вы хотите разрешить старые данные без удаления в том же документе.

Также, возможно, полные документы поможет вам узнать больше проблем.

0 голосов
/ 30 марта 2020

Вы используете document("LIihBLtbfuJ8Dy640DPd"), поэтому вы будете редактировать этот конкретный элемент. Если вы попытаетесь создать новый элемент с тем же идентификатором LIihBLtbfuJ8Dy640DPd, он заменит старый элемент новым.

Вы должны позволить Firebase Firestore автоматически создать новый идентификатор документа для вас, или у вас есть дать уникальный идентификатор самостоятельно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...