Skip to content

EaniaHuui/selector_plus

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Usage

dependencies:
  flutter:
    sdk: flutter

  chart_view:
    git: https://github.com/EaniaHuui/selector_plus.git
import 'package:selector_plus/selector_plus.dart';

比如我们需要监听的对象是UserModel

SelectorPlus<UserController, UserModel>(
  selector: controller.data,
  builder: (context, value, child) {
    return Center(
      child: Column(
        mainAxisAlignment: MainAxisAlignment.center,
        children: <Widget>[
          Text(
            "name: ${value?.name}",
          ),
          Text(
            "email: ${value?.email}",
          ),
        ],
      ),
    );
  },
)

修改数据,然后刷新UI

data.value?.name = 'Flutter';
data.update();
notifyListeners();

或者

data.value = UserModel(name: "Flutter", email: "[email protected]");
notifyListeners();

当然,对数组类数据也进一步做了处理,具体使用如下:

SelectorListPlus<UserController, UserModel>(
  selector: controller.list,
  builder: (context, value, child) {
    return ListView.builder(
      itemCount: value.length,
      itemBuilder: (context, index) {
        final item = value[index];
        return ListTile(
          title: Text(item.name),
          subtitle: Text(item.email),
        );
      },
    );
  },
)

修改数据更新UI

list.value[index].name = 'Flutter';
list.update();
notifyListeners();

或者

list.value= [UserModel(name: "Flutter", email: "[email protected]")];
notifyListeners();

增加

list.add(UserModel(name: "Flutter", email: "[email protected]"));
notifyListeners();

删除

list.remove(index);
notifyListeners();

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages