# #firebase #flutter #dart #google-cloud-firestore
Вопрос:
У меня есть сетка с кучей элементов (например, блюда), и всякий раз, когда я хочу отредактировать элемент, я нажимаю кнопку, и открывается нижний лист, который выглядит следующим образом:
Теперь это отображается из статического списка в файле dart. Я хочу изменить следующий фрагмент кода, чтобы содержимое моего облачного магазина Firestore отображалось:
var _isInit = true; var _isLoading = false; @override void initState() { _imageUrlFocusNode.addListener(_updateImageUrl); super.initState(); } @override void didChangeDependencies() { if (_isInit == true) { final mealId = widget.id; if (mealId != null) { _editedMeal = Meals().findById('1'); //THIS IS WHERE I NEED TO RETRIEVE DATA FROM CLOUD FIRESTORE _initValues = { 'title': _editedMeal.title, 'recipe': _editedMeal.recipe, 'description': _editedMeal.description, 'imageUrl': '', }; _imageUrlController.text = _editedMeal.imageUrl; } } _isInit = false; super.didChangeDependencies(); }
Мне нужно изменить ту часть, где есть комментарий, чтобы использовать Firestore в качестве источника данных. Я смог извлечь данные с помощью этого оператора, но он недостаточно быстр для визуализации, поэтому я вижу только пустые текстовые поля и никакого изображения. Это код, с помощью которого я попробовал и получил данные, но ничего не смог отобразить:
FirebaseFirestore.instance.collection('meals').doc(mealId).get().then((DocumentSnapshot document) { _editedMeal = Meal( id: document.id, //... ); });
Этот код использовался вместо статического, в котором комментарий был:
_editedMeal = Meals().findById('1'); //THIS IS WHERE I NEED TO RETRIEVE DATA
Может ли кто-нибудь, пожалуйста, предоставить решение о том, как динамически загружать данные из Firestore и заполнять эту «_editedMeal» перед отображением виджета.
Спасибо
Комментарии:
1. Куда ты звонишь
get()
? В любом случае, скорее всего, вам нужно позвонитьsetState()
, чтобы вызватьbuild()
метод и обновить состояние_editedMeal
2. Где бы вызвать setState()? get() вызывается для получения данных из документа, полученного firebase
Ответ №1:
На самом деле я использовал обходной путь. На самом деле это не делает того, о чем я просил, но я просто передаю уже существующие параметры на нижний лист и визуализирую их, не захватывая данные снова из Firestore