removeAt method
Remove the item at index
.
Set isQuiet = true
to avoid rendering loading state, default false
.
Implementation
Future<void> removeAt(int index, {bool isQuiet = false}) async {
_error = null;
_isDeleting = true;
if (_isMounted && !isQuiet) notifyListeners();
try {
final result = await onDelete(items[index]);
if (result) {
_data.items.removeAt(index);
_data.totalItem -= 1;
}
if (_awaitListener) {
await onDeleteCompleted(result);
} else {
onDeleteCompleted(result);
}
} catch (e) {
_error = e;
if (_awaitListener) {
await onDeleteFailed(e);
} else {
onDeleteFailed(e);
}
}
_isDeleting = false;
if (_isMounted && !isQuiet) notifyListeners();
}