StandardChildPageFactory<T extends StandardPage<R> , R extends Object?, P extends Object?> class
base
A factory class for creating child pages of StandardPage.
This class can be added to the childPageFactories property of StandardPageFactory or StandardPageWithResultFactory.
T represents the data type of the destination page, R represents the data type of the page data,
P represents the data type of the parent page data.
Child pages are designed to have a parent-child relationship with their parent page. The createParentPageData function is required to generate the parent page data from the child page data, which is used when navigating through the page hierarchy and building deep links.
When navigating to a child page using the go method, you can set the pushParentPage parameter to true
to automatically push the parent page onto the navigation stack before navigating to the child page.
This ensures that the parent page is included in the navigation history.
See also:
- StandardChildPageWithResultFactory, which is a result-returning version of this class.
example:
StandardMaterialApp(
onGenerateTitle: (context) => 'sample',
pages: [
StandardPageFactory<TestPageA, void>(
create: (data) => TestPageA(),
links: {
r'pageA': (match, uri) {},
},
linkGenerator: (pageData) => 'pageA',
childPageFactories: [
StandardChildPageFactory<TestPageB, String, void>(
create: (data) => TestPageB(),
links: {
r'pageB': (match, uri) {
return 'pageData';
},
},
linkGenerator: (pageData) => 'pageB',
createParentPageData: (_) {},
childPageFactories: [
StandardChildPageFactory<TestPageC, String, String>(
create: (data) => TestPageC(),
links: {
r'pageC': (match, uri) {
return 'childPageData';
},
},
linkGenerator: (pageData) => 'pageC',
createParentPageData: (pageData) {
return 'parentPageData';
},
),
],
),
],
),
],
);
- Inheritance
-
- Object
- StandardPageWithResultFactory<
T, R, void> - StandardChildPageWithResultFactory<
T, R, void, P> - StandardChildPageFactory
Constructors
-
StandardChildPageFactory({required T create(R pageData), required P createParentPageData(R pageData), Map<
String, R Function(RegExpMatch match, Uri uri)> ? links, String linkGenerator(R pageData)?, bool groupRoot = false, String? group = defaultGroup, bool keepHistory = true, LocalKey pageKey(R pageData)?, StandardPageBuilder<R, void> ? pageBuilder, R pageDataWhenNull()?, String? pageName()?, String restorationId(R pageData)?, List<StandardChildPageWithResultFactory< childPageFactories = const []})StandardPageWithResult< >Object?, Object?> , Object?, Object?, Object?> -
Create a StandardChildPageFactory
const
Properties
- activeFirstNestedPage → bool
-
Flag indicating whether the first page in nestedPageFactories
should always be stacked as the first page of the nested Navigator.
no setterinherited
-
Add to the deepest navigator when there are multiple nested navigators.
no setterinherited
-
anyNestedPageFactories
→ List<
StandardPageWithResultFactory< StandardPageWithResult< >Object?, Object?> , Object?, Object?> -
The list of nested pages that can be used in any nested Navigator.
no setterinherited
-
childPageFactories
→ List<
StandardChildPageWithResultFactory< StandardPageWithResult< >Object?, Object?> , Object?, Object?, Object?> -
The list of child pages that can be navigated to from this page.
finalinherited
- create → T Function(R pageData)
-
Creates the
Tpage that this factory manages.finalinherited - dataType → Type
-
The data type of this page.
no setterinherited
- dataTypeIsNonNullable → bool
-
Flag indicating that the type of page data set for this page is nullable.
no setterinherited
-
Flag indicating whether to enable analytics for navigation.
finalinherited
- group → String?
-
The group name used to manage multiple pages as part of the same group when they exist.
finalinherited
- groupRoot → bool
-
Flag indicating whether to set this page as the root group if a group name is specified.
finalinherited
- hasChildPages → bool
-
Flag indicating whether there are child pages that can be navigated to from this page.
no setterinherited
- hashCode → int
-
The hash code for this object.
no setterinherited
- hasNestedPages → bool
-
Flag indicating whether there are nested pages.
no setterinherited
- keepHistory → bool
-
Flag indicating whether to stack this page as part of the history or not.
finalinherited
- linkGenerator → String Function(R pageData)?
-
The function to create deep links for this page.
finalinherited
-
The method for transitioning to this page from other pages.
Please refer to StandardPageNavigationMode for navigation modes.
finalinherited
-
The navigator page factory of this page, if any.
no setterinherited
-
nestedPageFactories
→ List<
StandardPageWithResultFactory< StandardPageWithResult< >Object?, Object?> , Object?, Object?> -
The list of nested pages when using nested Navigators.
no setterinherited
-
pageBuilder
→ StandardPageBuilder<
R, void> ? -
A function for creating StandardPageInterface.
finalinherited
- pageDataWhenNull → R Function()?
-
A function to generate a replacement value when the pageData passed during navigation is null.
finalinherited
- pageName → String? Function()?
-
The name of this page.
finalinherited
- pageType → Type
-
The page type of this page.
no setterinherited
-
parentPageFactory
→ StandardPageWithResultFactory<
StandardPageWithResult< ?Object?, Object?> , Object?, Object?> -
The parent page factory of this page, if any.
no setterinherited
- restorationId → String Function(R pageData)?
-
A function for generating a value to pass to Page.restorationId.
finalinherited
- resultType → Type
-
The result type of this page.
no setterinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
createParentPageData(
R pageData) → P -
When using child pages, specifies how to create the parent page data from the page data of this page.
inherited
-
generateLink(
Object? pageData) → String? -
Returns the deep link generated by this page for the given
pageData.inherited -
getPageKey(
Object? pageData) → LocalKey -
Get the key set for this page, as configured for this page.
inherited
-
goWithResult(
R pageData, [bool pushParentPage = false]) → Future< void> -
Navigate to the StandardPage of type
Twith the option to passpageDataduring navigation. An optionalnavigationModerepresenting the mode of StandardPageNavigationMode to use during navigation can also be provided.pushParentPageindicates whether to push the parent page when navigating to a child page. default isfalse.inherited -
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited