如何在颤振中将提供者设置为仅一种类型的数据?

时间:2021-03-26 07:27:46

标签: flutter flutter-dependencies provider flutter-test

    class UserProvider extends ChangeNotifier {
          UserLoginModel userLoginModel = UserLoginModel();
                UserLoginModel get userdata {
         return userLoginModel;
          }

           void addlogindata(UserLoginModel data) {
          userLoginModel = data;
            notifyListeners();
         }
              }

如何使用api或者UserLoginModel通过函数给这个类设置数据 我想这样设置数据

  if (response.statusCode == 200) {
  print(response.body);
  var data = UserLoginModel.fromJson(jsonDecode(response.body)); userprovider.addlogindata(data);

但是我做这种事情会出错

2 个答案:

答案 0 :(得分:1)

你可以在 build 方法中调用这样的函数:

Provider.of<UserProvider>(context).addlogindata(data)

在构建方法之外:

Provider.of<UserProvider>(context,listen:false).addlogindata(data)

答案 1 :(得分:1)

var data=Provider.of<UserProvider>(context,listen:false);
var newdata=data.addlogindata(responsedata);

这对我来说非常有用,现在我可以在应用程序的任何地方使用这些数据