remove method
Removes the first occurrence of value
from this list.
Returns true if value
was in the list, false otherwise.
The list must be growable.
final parts = <String>['head', 'shoulders', 'knees', 'toes'];
final retVal = parts.remove('head'); // true
print(parts); // [shoulders, knees, toes]
The method has no effect if value
was not in the list.
final parts = <String>['shoulders', 'knees', 'toes'];
// Note: 'head' has already been removed.
final retVal = parts.remove('head'); // false
print(parts); // [shoulders, knees, toes]
Implementation
@override
bool remove(Object? element) {
if (lock) return _internal.remove(element);
final index = super.indexOf(element);
if (index != -1) {
lock = true;
added = const {};
removed = {index: super[index]};
changed = const {};
_internal.remove(element);
notifyListeners();
return true;
}
return false;
}