updateDependentValues method
void
updateDependentValues(
- covariant WidgetType? oldWidget
)
override
Implementation
@override
@mustCallSuper
void updateDependentValues(WidgetType? oldWidget) {
super.updateDependentValues(oldWidget);
manual = widget.manual == true;
onChangeProvider = AntdFormItemOnChangeProvider.of<T>(context);
groupProvider = AntdFormItemGroupProvider.of(context);
var formItem = AntdFormItemProvider.ofMaybe(context);
disabled =
(widget.disabled ?? groupProvider?.disabled ?? formItem?.disabled) ==
true;
readOnly =
(widget.readOnly ?? groupProvider?.readOnly ?? formItem?.readOnly) ==
true;
if (formItem != null && formItem.existsShouUpdate != true) {
var name = formItem.namePath;
AntdLogs.w(
msg:
"A default shouldUpdate has been added for field '$name'. If you use other fields in your builder, remember to include them in dependencies, or use a custom shouldUpdate to ensure your logic works correctly.");
AntdFormProvider.ofMaybe(context)?.controller.addShouUpUpdate(name,
(value, beforeValue) {
return isChanged(value?[name], beforeValue?[name]);
});
}
if (manual) {
value = widget.value;
AntdLogs.w(
msg:
"Controlled mode active (non-empty value). Manual value update required.",
biz: widget.runtimeType.toString());
if (oldWidget != null) {
WidgetsBinding.instance.addPostFrameCallback((_) {
handlerAutoCollect(value, oldWidget.value);
});
}
} else {
var formValue = widget.getValue(context);
if (formValue != null && value == null) {
value = formValue;
}
}
if (manual &&
oldWidget != null &&
widget.shouldTriggerChange == true &&
widget.onChange != null &&
isChanged(value, oldWidget.value)) {
WidgetsBinding.instance.addPostFrameCallback((_) {
handlerOnChange(value);
});
}
}