registerOnChange method

  1. @override
void registerOnChange(
  1. ChangeFunction callback
)

Set the function to be called when the control receives a change event.

NOTE: This function should only be called by view (i.e. user-initiated) changes. Incorrect implementation of registerOnChange will cause issues such as the control incorrectly being marked as dirty from a model update.

Implementation

@override
void registerOnChange(callback) {
  _selectionChangesSub = selectionModel.selectionChanges.listen((_) {
    var value = (selectionModel.selectedValues == null ||
            selectionModel.selectedValues.isEmpty)
        ? null
        : selectionModel.selectedValues?.first;
    callback(value);
  });
}