Language:įŽ€äŊ“中文

đŸ’ŧ easy_model

support Flutter Web pub package demo

A simple flutter state management package, supporting local state management and global state management

  • support initState() and dispose()
  • Support global access to Model objects

🚀 Getting Started

Before the introduction, you can have a try for Online Demo

🔑 Useage

First define your Model object

class YourModel extends Model {
  @override
  void initState() {...}

  @override
  void dispose() {...}

  int value = 0;
}

When you want to use it in combination with a Widget or Page, you can do like this

ModelWidget<YourModel>(
  childBuilder: (ctx, model) => YourWidgetOrPage(),
  modelBuilder: () => YourModel(),
),

🔄 Get data and refresh

get data

final model = ModelGroup.findModel<YourModel>();

refresh

model.refresh();

📃 Same pages and models

If you have the following usage scenarios

Using ModelGroup.findModel <T> () is unable to get the Model object corresponding to eachPage

Then you can use ModelGroup.findModelByKey <T> (modelKey) to obtain the corresponding Model, but it should be noted that a different modelKey must be specified when creatingModelWidget

ModelWidget<YourModel>(
  childBuilder: (ctx, model) => YourWidgetOrPage(),
  modelBuilder: () => YourModel(),
  modelKey: 'YourModelKey'
),

///get model
final model = ModelGroup.findModelByKey<YourModel>('YourModelKey');

🤗 Welcome for issue and pr

Click here to create an issue

Click here to submit a pull request (please submit pr by forking the dev branch)

Libraries

easy_model