【发布时间】:2021-04-04 22:05:33
【问题描述】:
如何从另一个StateNotifier 调用一个StateNotifier 的方法?我想从submitData(低级)呼叫addNewHabit(顶级)。
这是类的主体:
class HabitStateNotifier extends StateNotifier<List<Habit>> {
HabitStateNotifier(state) : super(state ?? []);
void startAddNewHabit(BuildContext context) {
showModalBottomSheet(
context: context,
builder: (_) {
return NewHabit();
});
}
//this one right here
void addNewHabit(String title) {
final newHabit = Habit(title: title);
state.add(newHabit);
}
void deleteHabit(String id) {
state.removeWhere((habit) => habit.id == id);
}
}
和
class TitleControllerStateNotifier
extends StateNotifier<TextEditingController> {
TitleControllerStateNotifier(state) : super(state);
void submitData() {
if (state.text.isEmpty) {
return;
} else {
//call 'addNewHabit' from above class
}
}
}
这样做的正确方法是什么?
【问题讨论】:
标签: flutter dart provider riverpod