假设我有一个显示对话框的功能,如下所示,如何让它接受一个值并将其显示在对话框上?代码示例后出现如下错误消息,我不明白这是什么意思。谢谢你
Future _showMyDialog(String message) async {
return showDialog(
context: context,
barrierDismissible: true, // user must tap button!
builder: (BuildContext context) {
return AlertDialog(
title: const Text('Warning'),
content: SingleChildScrollView(
child: ListBody(
children: const <Widget>[
Text(message),
],
),
),
actions: <Widget>[
TextButton(
child: const Text('OK'),
onPressed: () {
Navigator.of(context).pop();
},
),
],
);
},
);
}
错误信息: 如果 [style] 参数为 null,则文本将使用最近的封闭 [DefaultTextStyle] 中的样式。
[data] 参数不能为空。
[overflow] 属性的行为受 [softWrap] 参数的影响。如果 [softWrap] 为 true 或 null,则不会呈现导致溢出的字形以及其后的字形。否则,它将与给定的溢出选项一起显示。
答案 0 :(得分:1)
@SteveT 如果您从 Listbody 的子项中删除了 const
,那么您的问题将被删除。
Future _showMyDialog(String message) async {
return showDialog(
context: context,
barrierDismissible: true, // user must tap button!
builder: (BuildContext context) {
return AlertDialog(
title: const Text('Warning'),
content: SingleChildScrollView(
child: ListBody(
children: <Widget>[
Text(message),
],
),
),
actions: <Widget>[
TextButton(
child: const Text('OK'),
onPressed: () {
Navigator.of(context).pop();
},
),
],
);
},
);
}