我很难理解提供程序状态管理。我有一个包含以下参数的模型。
我的模型.dart
class MyModel {
final String title;
final String details;
final DateTime startingTime;
final DateTime endingTime;
final int categoryId;
final int userId;
MyModel(
this.title,
this.details,
this.startingTime,
this.endingTime,
this.categoryId,
this.userId);
}
这些数据中的每一个都引用了Form
中的一个位置。(TextFormField,DropDown等)。如果不给它们一个初始值,我如何填充MyModel
并确保这些参数中的每一个都被赋给了某个值?(null
值也不例外)。
如果我使用这个模型作为ChangeNotifer,并使用setter,getter。那么,我必须在我的MainApp中提供以下代码。
ChangeNotifierProvider<MyModel>(create: (_) => MyModel(*PROVIDEDATA*),),
但这是不可能的,因为我需要提供构造函数参数。我如何找到一种方法来利用这一点呢?
基本上,我需要设置没有默认值的MyModel
参数,并通知那些侦听器。我尝试使用MyModelProvider
类来提供这个对象。如下所示。但是,我仍然需要提供那些值。
我的模型提供程序.dart
class MyModelProvider with ChangeNotifier{
MyModel _myModel=MyModel("", "", startingTime , endingTime, categoryId, userId);
MyModel get myModel => _myModel;
set myModel(MyModel value) {
_myModel = value;
notifyListeners();
}
}
有什么建议吗,关于我应该“提供”什么?提前谢谢你。
1条答案
按热度按时间zf9nrax11#
在您的屏幕中实现提供程序,如下所示