remove method Null safety

bool remove(
  1. T value,
  2. {bool notifyChanges = true}
)

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

bool remove(T value, {bool notifyChanges = true}) {
  final wasRemoved = _value.remove(value);

  if (notifyChanges && wasRemoved) {
    _viewModel.notifyChanges([EmpireStateChanged.removedFromList(value)]);
  }

  return wasRemoved;
}