Skip to content

Commit bb1f879

Browse files
[google_sign_in_web] Refactor Radio widgets in example
Refactors the `google_sign_in_web` example to use a new `RadioGroup` widget. This removes the deprecated `groupValue` and `onChanged` properties from each individual `RadioListTile` and moves them to the parent `RadioGroup`.
1 parent fbe8477 commit bb1f879

File tree

1 file changed

+22
-13
lines changed

1 file changed

+22
-13
lines changed

packages/google_sign_in/google_sign_in_web/example/lib/src/button_configuration_column.dart

Lines changed: 22 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -169,21 +169,30 @@ Widget _renderRadioListTileCard<T extends Enum>({
169169
T? selected,
170170
void Function(T?)? onChanged,
171171
}) {
172+
final void Function(T?) handleChange = onChanged ?? (_) {};
173+
172174
return _renderConfigCard(
173175
title: title,
174-
children:
175-
values
176-
.map(
177-
(T value) => RadioListTile<T>(
178-
value: value,
179-
groupValue: selected,
180-
onChanged: onChanged,
181-
selected: value == selected,
182-
title: Text(value.name),
183-
dense: true,
184-
),
185-
)
186-
.toList(),
176+
children: <Widget>[
177+
RadioGroup<T>(
178+
groupValue: selected,
179+
onChanged: (T? v) => handleChange(v),
180+
child: Column(
181+
mainAxisSize: MainAxisSize.min,
182+
children:
183+
values
184+
.map(
185+
(T value) => RadioListTile<T>(
186+
value: value,
187+
selected: value == selected,
188+
title: Text(value.name),
189+
dense: true,
190+
),
191+
)
192+
.toList(),
193+
),
194+
),
195+
],
187196
);
188197
}
189198

0 commit comments

Comments
 (0)