Как слушать провайдеров вне дерева виджетов в трепетании? - PullRequest
0 голосов
/ 26 февраля 2020

Как я могу динамически построить подобный макет, не используя ListView.builder (потому что я не хочу, чтобы он отображался линейно)? enter image description here

В настоящее время я использую виджет WRAP для размещения детей (selectionItem). Учитывая список jsondata, мне нужно будет использовать вспомогательную функцию ( generateListWidgets (jsonData) ) для отображения через них, чтобы преобразовать их в виджеты, чтобы я мог вернуть их обратно в виде списка, потому что * Виджет 1012 * WRAP не имеет метода конструктора, подобного ListView .

. Проблема с этим подходом заключается в том, что я не могу прослушать Provider подвергается воздействию этого класса ( CustomizeScreen ) build метод из вспомогательной функции. Я пытался передать контекст метода build в качестве аргумента вспомогательной функции, например так ( generateListWidgets (jsonList, context) ), и лучшее, что позволял этот подход Я должен был использовать следующий метод, не имея возможности установить аргумент прослушивания на true (возвращает ошибку)

Provider.of<IngredientData>(context,listen: false).updateSelection(ingredientModelWidget);

Хотя этот способ работает нормально, он, однако, лишает меня возможности прослушивания к изменению состояния, поэтому пользовательский интерфейс не должен повторно отображать его дочерние элементы.

Любой вклад в решение этой проблемы будет высоко оценен!

PS: Пожалуйста, дайте мне знать часть кода, которую я должен внесите необходимые изменения.

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