@@ -64,16 +64,19 @@ class BoolRoute extends GoRouteData {
6464 BoolRoute ({
6565 required this .requiredBoolField,
6666 this .boolField,
67+ this .boolFieldWithDefaultValue = true ,
6768 });
6869
6970 final bool requiredBoolField;
7071 final bool ? boolField;
72+ final bool boolFieldWithDefaultValue;
7173
7274 @override
7375 Widget build (BuildContext context, GoRouterState state) => BasePage <bool >(
7476 dataTitle: 'BoolRoute' ,
7577 param: requiredBoolField,
7678 queryParam: boolField,
79+ queryParamWithDefaultValue: boolFieldWithDefaultValue,
7780 );
7881
7982 Widget drawerTile (BuildContext context) => ListTile (
@@ -110,16 +113,19 @@ class DoubleRoute extends GoRouteData {
110113 DoubleRoute ({
111114 required this .requiredDoubleField,
112115 this .doubleField,
116+ this .doubleFieldWithDefaultValue = 1.0 ,
113117 });
114118
115119 final double requiredDoubleField;
116120 final double ? doubleField;
121+ final double doubleFieldWithDefaultValue;
117122
118123 @override
119124 Widget build (BuildContext context, GoRouterState state) => BasePage <double >(
120125 dataTitle: 'DoubleRoute' ,
121126 param: requiredDoubleField,
122127 queryParam: doubleField,
128+ queryParamWithDefaultValue: doubleFieldWithDefaultValue,
123129 );
124130
125131 Widget drawerTile (BuildContext context) => ListTile (
@@ -133,16 +139,19 @@ class IntRoute extends GoRouteData {
133139 IntRoute ({
134140 required this .requiredIntField,
135141 this .intField,
142+ this .intFieldWithDefaultValue = 1 ,
136143 });
137144
138145 final int requiredIntField;
139146 final int ? intField;
147+ final int intFieldWithDefaultValue;
140148
141149 @override
142150 Widget build (BuildContext context, GoRouterState state) => BasePage <int >(
143151 dataTitle: 'IntRoute' ,
144152 param: requiredIntField,
145153 queryParam: intField,
154+ queryParamWithDefaultValue: intFieldWithDefaultValue,
146155 );
147156
148157 Widget drawerTile (BuildContext context) => ListTile (
@@ -156,16 +165,19 @@ class NumRoute extends GoRouteData {
156165 NumRoute ({
157166 required this .requiredNumField,
158167 this .numField,
168+ this .numFieldWithDefaultValue = 1 ,
159169 });
160170
161171 final num requiredNumField;
162172 final num ? numField;
173+ final num numFieldWithDefaultValue;
163174
164175 @override
165176 Widget build (BuildContext context, GoRouterState state) => BasePage <num >(
166177 dataTitle: 'NumRoute' ,
167178 param: requiredNumField,
168179 queryParam: numField,
180+ queryParamWithDefaultValue: numFieldWithDefaultValue,
169181 );
170182
171183 Widget drawerTile (BuildContext context) => ListTile (
@@ -179,17 +191,20 @@ class EnumRoute extends GoRouteData {
179191 EnumRoute ({
180192 required this .requiredEnumField,
181193 this .enumField,
194+ this .enumFieldWithDefaultValue = PersonDetails .favoriteFood,
182195 });
183196
184197 final PersonDetails requiredEnumField;
185198 final PersonDetails ? enumField;
199+ final PersonDetails enumFieldWithDefaultValue;
186200
187201 @override
188202 Widget build (BuildContext context, GoRouterState state) =>
189203 BasePage <PersonDetails >(
190204 dataTitle: 'EnumRoute' ,
191205 param: requiredEnumField,
192206 queryParam: enumField,
207+ queryParamWithDefaultValue: enumFieldWithDefaultValue,
193208 );
194209
195210 Widget drawerTile (BuildContext context) => ListTile (
@@ -203,17 +218,20 @@ class EnhancedEnumRoute extends GoRouteData {
203218 EnhancedEnumRoute ({
204219 required this .requiredEnumField,
205220 this .enumField,
221+ this .enumFieldWithDefaultValue = SportDetails .football,
206222 });
207223
208224 final SportDetails requiredEnumField;
209225 final SportDetails ? enumField;
226+ final SportDetails enumFieldWithDefaultValue;
210227
211228 @override
212229 Widget build (BuildContext context, GoRouterState state) =>
213230 BasePage <SportDetails >(
214231 dataTitle: 'EnhancedEnumRoute' ,
215232 param: requiredEnumField,
216233 queryParam: enumField,
234+ queryParamWithDefaultValue: enumFieldWithDefaultValue,
217235 );
218236
219237 Widget drawerTile (BuildContext context) => ListTile (
@@ -227,16 +245,19 @@ class StringRoute extends GoRouteData {
227245 StringRoute ({
228246 required this .requiredStringField,
229247 this .stringField,
248+ this .stringFieldWithDefaultValue = 'defaultValue' ,
230249 });
231250
232251 final String requiredStringField;
233252 final String ? stringField;
253+ final String stringFieldWithDefaultValue;
234254
235255 @override
236256 Widget build (BuildContext context, GoRouterState state) => BasePage <String >(
237257 dataTitle: 'StringRoute' ,
238258 param: requiredStringField,
239259 queryParam: stringField,
260+ queryParamWithDefaultValue: stringFieldWithDefaultValue,
240261 );
241262
242263 Widget drawerTile (BuildContext context) => ListTile (
@@ -274,12 +295,14 @@ class BasePage<T> extends StatelessWidget {
274295 required this .dataTitle,
275296 required this .param,
276297 this .queryParam,
298+ this .queryParamWithDefaultValue,
277299 super .key,
278300 });
279301
280302 final String dataTitle;
281303 final T param;
282304 final T ? queryParam;
305+ final T ? queryParamWithDefaultValue;
283306
284307 @override
285308 Widget build (BuildContext context) => Scaffold (
@@ -339,6 +362,9 @@ class BasePage<T> extends StatelessWidget {
339362 Text (dataTitle),
340363 Text ('Param: $param ' ),
341364 Text ('Query param: $queryParam ' ),
365+ Text (
366+ 'Query param with default value: $queryParamWithDefaultValue ' ,
367+ ),
342368 SelectableText (GoRouter .of (context).location),
343369 ],
344370 ),
0 commit comments