conditional_parent_widget
Conditionally wrap a subtree with a parent widget without breaking the code tree.
condition
: the condition depending on which the subtreechild
is wrapped with the parent.child
: The subtree that should always be build.parentBuilder
: builds the parent with the subtreechild
iffcondition
is true.
Usage:
return ConditionalParentWidget(
condition: shouldIncludeParent,
child: Widget1(
child: Widget2(
child: Widget3(),
),
),
parentBuilder: (Widget child) => SomeParentWidget(child: child),
);
Instead of:
Widget child = Widget1(
child: Widget2(
child: Widget3(),
),
);
///
return shouldIncludeParent ? SomeParentWidget(child: child) : child;