mirror of
https://github.com/lollipopkit/flutter_server_box.git
synced 2025-12-17 15:24:35 +01:00
new: rebuild impl
This commit is contained in:
33
lib/core/utils/rebuild.dart
Normal file
33
lib/core/utils/rebuild.dart
Normal file
@@ -0,0 +1,33 @@
|
||||
import 'package:flutter/foundation.dart';
|
||||
|
||||
// ignore: prefer_void_to_null
|
||||
class _RebuildNode implements ValueListenable<Null> {
|
||||
final List<VoidCallback> _listeners = [];
|
||||
|
||||
_RebuildNode();
|
||||
|
||||
@override
|
||||
void addListener(VoidCallback listener) {
|
||||
_listeners.add(listener);
|
||||
}
|
||||
|
||||
@override
|
||||
void removeListener(VoidCallback listener) {
|
||||
_listeners.remove(listener);
|
||||
}
|
||||
|
||||
void rebuild() {
|
||||
for (var listener in _listeners) {
|
||||
listener();
|
||||
}
|
||||
}
|
||||
|
||||
@override
|
||||
Null get value => null;
|
||||
}
|
||||
|
||||
class RebuildNodes {
|
||||
const RebuildNodes._();
|
||||
|
||||
static final _RebuildNode app = _RebuildNode();
|
||||
}
|
||||
Reference in New Issue
Block a user