buildLifecycle method
Widget
buildLifecycle(
- BuildContext context,
- Widget? child, {
- ViewModelWidgetBuilder<
VM> ? builder,
Implementation
@protected
Widget buildLifecycle(
BuildContext context,
Widget? child, {
ViewModelWidgetBuilder<VM>? builder,
}) {
final _builder =
builder ?? this.asSafeType<ViewModelProviderBuilder<VM>>()?.buildChild;
return ViewModelBinding<VM, VM>(
selector: (context, vm) => vm,
builder: (context, value, isBinding, child) => LifecycleBuilder<VM>(
create: (context) => context.viewModel<VM>(),
initState: (_) => initViewModel(context, value),
initBuild: (_, __) => bindViewModel(context, value),
initFrame: (_, __) => initFrame(context, value),
dispose: (_, __) => disposeViewModel(context, value),
didChangeDependencies: (_, oldValue) {
if (!const DeepCollectionEquality().equals(oldValue, value)) {
changeViewModel(context, value, oldValue);
}
},
child: child,
builder: _builder != null
? (_, setStatus, __, child) {
return _builder(context, value, child);
}
: null,
),
);
}