我创建了一个小部件,该小部件通过json格式的API通过API发送数据,该小部件使用;等控制器构建。
final quantNumberController = TextEditingController();
我正在从控制者那里获得价值;
String quant = quantNumberController.text;
然后我将数据存储为json格式,例如;
var data = {'quant': quant}
我当前的文本小部件容器结构是;
Container(
width: 280,
padding: EdgeInsets.all(10.0),
child: TextField(
controller: quantNumberController,
autocorrect: true,
decoration: InputDecoration(hintText: 'Enter location'),
)
),
我想在单选按钮结构中获取此数据。是否有可能像以前一样使用控制器获取数据,或者应该如何将数据获取到结果json文件中?
我尝试过这样;
Container(
margin: EdgeInsets.fromLTRB(0, 0, 0, 10),
child: Column(
children: <Widget>[
Text('Location'),
ListTile(
title: const Text('First value'),
leading: Radio(
value: Cap.Cap33,
groupValue: _capp,
onChanged: (Capp value) {
setState(() {
_capp = value;
capp = 'Cap33';
});
},
),
),
ListTile(
title: const Text('Second value'),
leading: Radio(
value: Capp.Cap22,
groupValue: _capp,
onChanged: (Capp value) {
setState(() {
_capp = value;
capp = 'Cap22';
});
},
),
),
ListTile(
title: const Text('Third value'),
leading: Radio(
value: Capp.Cap44,
groupValue: _capp,
onChanged: (Capp value) {
setState(() {
_capp = value;
capp = 'Cap44';
});
},
),
),
],
) ,
),
谢谢。
答案 0 :(得分:2)
您可以定义一个带有控制器的功能
widget myradiobutton(TextEditingController quantNumberController ){
return Radio(
value: Cap.Cap33,
groupValue: _capp,
onChanged: (Capp value) {
setState(() {
_capp = value;
capp = 'Cap33';
});}
并在需要的地方使用它
Radio(
value:quantNumberController.text//or anything you want instead of text
但是,如果小部件在其构造函数中不支持控制器,那将很复杂