Showing
2 changed files
with
18 additions
and
0 deletions
@@ -70,6 +70,13 @@ class RxList<E> extends GetListenable<List<E>> | @@ -70,6 +70,13 @@ class RxList<E> extends GetListenable<List<E>> | ||
70 | } | 70 | } |
71 | 71 | ||
72 | @override | 72 | @override |
73 | + bool remove(Object? element) { | ||
74 | + final removed = value.remove(element); | ||
75 | + refresh(); | ||
76 | + return removed; | ||
77 | + } | ||
78 | + | ||
79 | + @override | ||
73 | void removeWhere(bool Function(E element) test) { | 80 | void removeWhere(bool Function(E element) test) { |
74 | value.removeWhere(test); | 81 | value.removeWhere(test); |
75 | refresh(); | 82 | refresh(); |
@@ -107,6 +114,12 @@ class RxList<E> extends GetListenable<List<E>> | @@ -107,6 +114,12 @@ class RxList<E> extends GetListenable<List<E>> | ||
107 | Iterable<E> get reversed => value.reversed; | 114 | Iterable<E> get reversed => value.reversed; |
108 | 115 | ||
109 | @override | 116 | @override |
117 | + set value(List<E> val) { | ||
118 | + super.value = val; | ||
119 | + refresh(); | ||
120 | + } | ||
121 | + | ||
122 | + @override | ||
110 | Iterable<E> where(bool Function(E) test) { | 123 | Iterable<E> where(bool Function(E) test) { |
111 | return value.where(test); | 124 | return value.where(test); |
112 | } | 125 | } |
@@ -199,6 +199,11 @@ void main() { | @@ -199,6 +199,11 @@ void main() { | ||
199 | expect(count, 1); | 199 | expect(count, 1); |
200 | 200 | ||
201 | count = 0; | 201 | count = 0; |
202 | + list.remove(2); | ||
203 | + await Future.delayed(Duration.zero); | ||
204 | + expect(count, 1); | ||
205 | + | ||
206 | + count = 0; | ||
202 | list.removeWhere((element) => element == 2); | 207 | list.removeWhere((element) => element == 2); |
203 | await Future.delayed(Duration.zero); | 208 | await Future.delayed(Duration.zero); |
204 | expect(count, 1); | 209 | expect(count, 1); |
-
Please register or login to post a comment