如何从Flutter中的提供程序包中链接ChangeNotifiers?

时间:2019-07-30 15:20:30

标签: android flutter dart

我刚刚开始使用Flutter编写我的第一个应用程序,而State Management令我非常困惑。因此,我需要一点帮助。我试图使用提供程序包。我没有使用Firebase。

应用程序中数据排列方式的基本要点是,每个用户都有一个单独的帐户,每个用户都拥有自己拥有的物品的多维列表。 例如:用户David拥有[Furniture, Clothes]。然后,每个项目也是该项目类型的列表。例如:Furniture = [Desk, Bed]Clothes = [Shirt, Pant]。然后,每种类型的项目都是该项目的属性的列表。例如:Desk = [Wood, Metal]Shirt = [Cotton, White]。有些视图显示该人拥有的物品清单。轻触项目可显示拥有的项目类型的列表。然后轻按一种类型的项目将进入一个列出属性的视图。

我目前正在做的是在视图之间传递索引,我觉得必须有更好的方法。

我想要的是,我的四个不同的观点是不同ChangeNotifiers的消费者。例如:显示拥有物品(家具,衣服)的视图是OwnerModel的消费者,类型(Desk, BedShirt, Pant)的视图是{{1 }},且具有属性(ConsumerTypeModel)的视图为Wood, Metal中的Cotton, White

当用户登录时,Consumer会被告知该值并通知其侦听器(该视图显示所拥有的东西)。当用户点击某个类型时,PropertyModel会被告知并通知其侦听器(该视图显示特定事物的类型)。当用户点击某个特定内容时,OwnerModel会被告知并通知其侦听器(该视图显示了特定类型的属性)。我有点理解如何实现此前传。但是在显示类型和属性列表的视图上,有添加按钮。我希望在属性视图上点击添加按钮时,会告诉TypeModel并通知其侦听器(PropertiesModel)。同样,当在类型视图上点击添加按钮时,将通知PropertiesModel并通知其侦听器(TypeModel)。

我觉得这是让State顺利通过的好方法,但是我对应用程序开发是陌生的。因此,我很想知道任何人想就我的案件管理国家提出其他建议。

0 个答案:

没有答案