如何删除scoped_model状态?

时间:2019-01-29 21:28:07

标签: dart flutter

我正在使用scoped_model处理应用程序状态,但是我需要擦除所有存储的状态(例如,在用户注销时)。

如何删除scoped_model中的所有状态存储?

我知道可以将状态值设置为null。例如:

var = null

但是如果在scoped_model中添加新变量来声明状态,则很难维护。

我正在寻找简单的方法。

更新:

示例代码存储状态:

首先声明bool:bool isUserRegister;

然后在检查数据库后设置isUserRegister = true;

我在scoped_model中有许多此类存储。我需要一种简单的方法来删除所有状态。

我在小部件层次结构的顶部初始化模型,并将MaterialApp包装在ScopedModel中:

void main() {
  runApp(new ExampleApp());
}

class ExampleApp extends StatelessWidget {

    final ExampleModel exampleModel = ExampleModel();

    //...

        return ScopedModel<ExampleModel>(
            model: exampleModel,
            child: MaterialApp(

也许一种方法是再次初始化模型?

1 个答案:

答案 0 :(得分:0)

您可以在状态类(扩展Model类的方法)中创建一个将所有对象设置为null / empty数组的方法。鉴于您没有向我们提供任何代码,很难提供确定的答案。


假设这是您的模型:

class ExampleModel extends Model {
  String _someString = "some value";
  bool _someBool = false;

  void clear() {
    _someState = null;
    _someBool = null;
  }
}

您可以创建一个clear()之类的方法,并在需要时调用它。