notifier.dart 436 B

123456789101112131415161718192021222324
  1. import 'package:flutter/material.dart';
  2. class PublishNotifier<T> extends ChangeNotifier {
  3. T? _value;
  4. set value(T newValue) {
  5. if (_value != newValue) {
  6. _value = newValue;
  7. notifyListeners();
  8. }
  9. }
  10. T? get currentValue => _value;
  11. void addPublishListener(void Function(T) callback) {
  12. super.addListener(
  13. () {
  14. if (_value != null) {
  15. callback(_value!);
  16. }
  17. },
  18. );
  19. }
  20. }