FlowBuilder<T> constructor

const FlowBuilder<T>({
  1. required OnGeneratePages<T> onGeneratePages,
  2. T? state,
  3. ValueSetter<T>? onComplete,
  4. FlowController<T>? controller,
  5. List<NavigatorObserver> observers = const <NavigatorObserver>[],
  6. Clip clipBehavior = Clip.hardEdge,
  7. Key? key,
})

FlowBuilder abstracts navigation and exposes a declarative routing API based on a state.

By default completing a flow results in the flow being popped from the navigation stack with the resulting flow state.

To override the default behavior, provide an implementation for onComplete.

FlowBuilder<MyFlowState>(
  state: MyFlowState.initial(),
  onGeneratePages: (state, pages) {...},
  onComplete: (state) {
    // do something when flow is completed...
  }
)

Implementation

const FlowBuilder({
  required this.onGeneratePages,
  this.state,
  this.onComplete,
  this.controller,
  this.observers = const <NavigatorObserver>[],
  this.clipBehavior = Clip.hardEdge,
  super.key,
})  : assert(
        state != null || controller != null,
        'requires either state or controller',
      ),
      assert(
        !(state != null && controller != null),
        'cannot provide controller and state',
      );