buildCustom method
Widget
buildCustom({
- ChildWidgetBuilder? childBuilder,
- required BuildContext context,
- required JsonWidgetData data,
- Key? key,
override
Custom builder that subclasses must override and implement to return the actual Widget to be placed on the tree.
Implementation
@override
Widget buildCustom({
ChildWidgetBuilder? childBuilder,
required BuildContext context,
required JsonWidgetData data,
Key? key,
}) {
assert(
data.children?.length == 1 || data.children?.isNotEmpty != true,
'[JsonSetDefaultValueBuilder] only supports zero or one child.',
);
values?.forEach((key, value) {
if (data.registry.getValue(key) == null) {
data.registry.setValue(
key,
value,
originator: null,
);
}
});
var child = data.children?.isNotEmpty == true ? data.children![0] : null;
child = child?.recreate();
return child?.build(
childBuilder: childBuilder,
context: context,
) ??
SizedBox(key: key);
}