我用 2 个这样的小部件创建 Row
Row(
children: [
new Radio(
value: 0,
groupValue: rv0,
onChanged: _handleRadioValueChange1,
),
GestureDetector(
onTap: (){ //trigger radio button },
child: Text('Tap Me')
)
],
)
Run Code Online (Sandbox Code Playgroud)
因此,当我点击文本时,收音机将被触发,例如在带有 jquery 的 javascript 中
$('#radio').click()
Run Code Online (Sandbox Code Playgroud)
在 dart flutter 中如何做到这一点?谢谢
Row(
children: [
new Radio(
value: 0,
groupValue: rv0,
onChanged: _handleRadioValueChange1,
),
GestureDetector(
onTap: (){
//trigger radio button
//you can pass any value which is the value of respective radio button
_handleRadioValueChange1(0)
},
child: Text('Tap Me')
)
],
)
Run Code Online (Sandbox Code Playgroud)
或者您可以使用 RadioListTile 小部件。
如果您想在单击时选择单选按钮值textview那么您需要groupValue 在单击文本视图时更改单选按钮
示例代码
class MyApp extends StatefulWidget {
@override
_State createState() => _State();
}
class _State extends State<MyApp> {
int _radioValue1 = 0;
void _handleRadioValueChange1(int value) {
setState(() {
_radioValue1 = value;
});
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('RadioListTile Demo'),
),
//hit Ctrl+space in intellij to know what are the options you can use in flutter widgets
body: SingleChildScrollView(
child: Container(
padding: EdgeInsets.all(32.0),
child: Column(
children: <Widget>[
Radio(
value: 0,
groupValue: _radioValue1,
onChanged: _handleRadioValueChange1,
),
Radio(
value: 1,
groupValue: _radioValue1,
onChanged: _handleRadioValueChange1,
),
Radio(
value: 2,
groupValue: _radioValue1,
onChanged: _handleRadioValueChange1,
),
GestureDetector(
onTap: () {
setState(() {
_radioValue1 = 0;
});
},
child: Text("Select First Radio Button"),
),
GestureDetector(
onTap: () {
setState(() {
_radioValue1 = 1;
});
},
child: Text("Select Second Radio Button"),
),
GestureDetector(
onTap: () {
setState(() {
_radioValue1 = 2;
});
},
child: Text("Select Third Radio Button"),
)
],
),
),
),
);
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5693 次 |
| 最近记录: |