gpt4 book ai didi

flutter - Flutter:多行TextField(TextFormField)根本不起作用

转载 作者:行者123 更新时间:2023-12-03 04:57:07 27 4
gpt4 key购买 nike

我在Flutter刚起步,所以我可能做错了什么,但是...我无法解决这个问题。
我已经准备好许多关于如何允许TextField / TextFormField多行文本的帖子。

我尝试将maxLines设置为null或设置为较大的数字,以强制设置最大行数(或不设置最大行数),但是没有任何效果!

简单的东西怎么会不起作用?

// in a Scaffold of a StatefulWidget
body: Padding(
padding: const EdgeInsets.all(50.0),
child: TextField(
keyboardType: TextInputType.multiline,
minLines: 1,
maxLines: 5,
),

我在两种不同的实际Android设备上尝试过,按 ENTER键无济于事。不幸的是,我没有Mac,因此无法在iOS上测试行为。

编辑1

以下是 copsonroad 提供的解决方案,以下代码
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text(
widget.event.shortName == null || widget.event.shortName.isEmpty
? AppLocalizations.of(context).eventEditorTitleNewEvent
: AppLocalizations.of(context)
.eventEditorTitleEditEvent(widget.event.shortName)),
actions: <Widget>[
if (_canSave == true) ...[
IconButton(
icon: Icon(Icons.done),
onPressed: () => _saveEventAndPop(),
)
],
]),
body: Center(
child: Padding(
padding: const EdgeInsets.all(50),
child: SizedBox(
height: 5 * 50.0,
child: TextField(
decoration: InputDecoration(hintText: "Enter a message"),
keyboardType: TextInputType.multiline,
maxLines: 5,
),
),
),
),
);
}

产生以下结果:

最佳答案

屏幕截图:

enter image description here

@override
Widget build(BuildContext context) {
var maxLines = 5;
return Scaffold(
appBar: AppBar(),
body: Center(
child: Padding(
padding: const EdgeInsets.all(50),
child: SizedBox(
height: maxLines * 50.0,
child: TextField(
decoration: InputDecoration(hintText: "Enter a message"),
keyboardType: TextInputType.multiline,
maxLines: maxLines,
),
),
),
),
);
}

编辑:

在Android上进行测试:

enter image description here

关于flutter - Flutter:多行TextField(TextFormField)根本不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60419705/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com