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();