【发布时间】:2019-01-06 09:03:21
【问题描述】:
我需要更新卡片内的 ListTile 值。所以 onLongPress(),我使用 showDialog 来显示一个文本字段。文本字段的初始值在 initState() 中更新。
@override
void initState() {
super.initState();
print(widget.project['status_long']);
projectDetailsController = TextEditingController(text: widget.project['status_long']);
}
这是我的显示对话框:
showDialog<void>(
context: context,
builder: (BuildContext context) {
return AlertDialog(
title: Text("Project Update"),
content: TextField(
controller: projectDetailsController,
maxLines: 100,
keyboardType: TextInputType.multiline,
),
actions: <Widget>[
FlatButton(
child: Text("UPDATE"),
onPressed: () {
_updateProjectDetails("projects/" + widget.project.documentID, projectDetailsController.text);
projectDetailsController.clear();
Navigator.pop(context);
},
),
],
);
},
);
这是生成的显示对话框:
【问题讨论】:
-
看起来这是因为您使用了
maxLines: 100。如果您不设置maxLines,则没有限制。如果您需要强制执行限制,可以改用maxLength。