是否有任何方法使用ChangeNotifier与ValueListenableBuilder



我有这个例子ChangeNotifier:

class ExmapleNotifier extends ChangeNotifier {
bool isDark = false;
toggleTheme() {
isDark = !isDark;
notifyListeners();
}
}

当我尝试将其与ValueListenableBuilder一起使用时,它会抛出一个错误,它不是ValueListenable,是否有任何方法将它们结合起来?

对于这个,我可以使用ChangeNotifierProvider。您也可以使用AnimatedBuilderwidget。


class CHTest extends StatelessWidget {
const CHTest({super.key});
@override
Widget build(BuildContext context) {
final exampleNotifier = ExmapleNotifier();
return AnimatedBuilder(
animation: exampleNotifier,
builder: (context, child) => Column(
mainAxisSize: MainAxisSize.min,
children: [
Text("is Dark ${exampleNotifier.isDark}"),
ElevatedButton(
onPressed: exampleNotifier.toggleTheme,
child: Text("toggle"),
),
],
),
);
}
}

最新更新