嗨,我的目標是有一個 RadioButtons 串列,其中每個按鈕都有其唯一的名稱。在頂部有一個 Text() 欄位,它將從單選按鈕中獲取該名稱并將其相應地更新為單選按鈕名稱。
這是一個例子:

當您按下選項 2 單選按鈕時,文本欄位會根據它發生變化:

我怎么能做到這一點,因為我對 Flutter 和 Dart 還很陌生。提前致謝
uj5u.com熱心網友回復:
代碼:
class HomePage extends StatefulWidget {
const HomePage ({Key? key, required this.title}) : super(key: key);
final String title;
@override
State<HomePage > createState() => _HomePage ();
}
class _HomePage extends State<HomePage > {
String _groupValue = '';
void checkRadio(String value ) {
setState(() {
_groupValue = value;
});
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
),
body: SafeArea(
child: Center(
child: Column(
children: [
Container(height: 50,),
Text(_groupValue),
ListTile(
title: Text('Option1'),
leading: Radio(
value: 'Option1',
groupValue: _groupValue,
onChanged: (value) {
checkRadio(value as String);
}
),
),
ListTile(
title: Text('Option2'),
leading: Radio(
value: 'Option2',
groupValue: _groupValue,
onChanged: (value) {
checkRadio(value as String);
}
),
),
ListTile(
title: Text('Option3'),
leading: Radio(
value: 'Option3',
groupValue: _groupValue,
onChanged: (value) {
checkRadio(value as String);
}
),
),
ListTile(
title: Text('Option4'),
leading: Radio(
value: 'Option4',
groupValue: _groupValue,
onChanged: (value) {
checkRadio(value as String);
}
),
),
ListTile(
title: Text('Option5'),
leading: Radio(
value: 'Option5',
groupValue: _groupValue,
onChanged: (value) {
checkRadio(value as String);
}
),
),
],
),
)
),
);
}
}
結果:

轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/427699.html
