如何在颤抖的小部件树外收听提供者?

时间:2020-02-26 18:34:11

标签: flutter flutter-layout flutter-provider flutter-state

如何不必使用 ListView.builder (因为我不希望它以线性方式呈现)而动态地构建这样的布局?enter image description here

我当前正在使用 WRAP 小部件来容纳孩子(selectionItem)。给定一个jsondata列表,我将不得不使用一个辅助函数( generateListWidgets(jsonData))通过它们进行映射,以将其转换为小部件,以便我将它们作为List返回,因为 WRAP 小部件没有像 ListView 这样的构建器方法。

这种方法的问题是,我无法听从该类的( CustomizeScreen build 方法公开的 Provider 辅助功能。我试图做的是将 build 方法的上下文作为参数传递给辅助函数,例如( generateListWidgets(jsonList,context)),这是最好的事情。允许的方法是使用以下方法,而无法将listen参数设置为 true (发送回错误)

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

虽然这种方法可以正常工作,但是它使我无法收听状态更改,因此使UI不再重新呈现其子级。

任何对此问题的贡献将不胜感激!

PS:请让我知道我需要编辑的部分代码。

0 个答案:

没有答案