我收到一条错误消息 item
当我尝试使用 Text 小部件呈现它时未定义。
按下按钮时,如何检索值并将其放入小部件中?
class AddCashForm extends StatefulWidget {
@override
_AddCashFormState createState() => _AddCashFormState();
}
class _AddCashFormState extends State<AddCashForm> {
DateTime selectedDate = DateTime.now();
List<String> chipList = [
"one",
"two",
"three",
"four",
];
void dispose() {
oneController.dispose();
twoController.dispose();
super.dispose();
}
@override
Widget build(BuildContext context) {
return Scaffold(
body: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
Row(
children: <Widget>[
ChoiceChipWidget(chipList, (item) {
print('Item selected: $item');
return (item);
}),
],
),
RaisedButton(
child: Text("Submit"),
onPressed: () {
},
),
// Text(item), data should appear here
],
),
);
}
}
最佳答案
如果您希望项目自动更新,而不单击提交,请使用以下命令:
class _AddCashFormState extends State<AddCashForm> {
final selectedDate = DateTime.now();
final chipList = <String>[
'one',
'two',
'three',
'four',
];
String item;
@override
Widget build(BuildContext context) {
return Scaffold(
body: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
Row(
children: chipList
.map<Widget>((s) => ChoiceChip(
label: Text(s),
selected: s == item,
onSelected: (bool selected) {
setState(() {
item = selected ? s : null;
});
},
))
.toList(),
),
Text(item ?? ''),
],
),
);
}
}
关于flutter - 使用 onPress 检索数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58384925/