bindValueNotifier<T, V> function
NotifierBinding<T>
bindValueNotifier<T, V>({
- required Binding<
T> binding, - required ValueNotifier<
V> valueNotifier, - V covertToValue(
- T
- T valueCovertTo(
- V
Implementation
NotifierBinding<T> bindValueNotifier<T, V>({
required Binding<T> binding,
required ValueNotifier<V> valueNotifier,
V Function(T)? covertToValue,
T Function(V)? valueCovertTo,
}) {
covertToValue ??= (T t) => t as V;
valueCovertTo ??= (V v) => v as T;
return bindChangeNotifier<T>(
binding: binding,
changeNotifier: valueNotifier,
notifyListener: () {
var newValue = valueCovertTo!(valueNotifier.value);
if (binding.value != newValue) {
binding.notifyChange(newValue);
}
},
onChange: () {
try {
valueNotifier.value = covertToValue!(binding.value);
} catch(e) {
//
}
},
);
}