status_notifier_mixin.dart 437 B

123456789101112131415161718192021
  1. import 'package:flutter/foundation.dart';
  2. mixin StatusNotifierMixin<T> on ChangeNotifier {
  3. ValueChanged<T>? _statusListener;
  4. void addStatusListener(ValueChanged<T> listener) {
  5. _statusListener = listener;
  6. }
  7. void clearStatusListener() {
  8. _statusListener = null;
  9. }
  10. @override
  11. void notifyListeners({T? status}) {
  12. super.notifyListeners();
  13. if (status != null) {
  14. _statusListener?.call(status);
  15. }
  16. }
  17. }