我有一个像这样的TextField:
ValueError: array is too big; `arr.size * arr.dtype.itemsize` is larger than the maximum possible size.
我希望我的TextField开始时new Flexible(
fit: FlexFit.loose,
child: new Container(
alignment: FractionalOffset.topLeft,
child: new TextField(
decoration: new InputDecoration(
hintText: 'Add a note',
),
maxLines: 1,
onChanged: (value) => _showSaveOptions(value),
),
),
),
设置为1,但是当我输入时,我希望maxLines增加,以便所有文本都保留在页面上我不要向上滚动。但是,我也不想从maxLines
设置为5或10开始,因为空TextField会占用更多必要的空间。我想要实现的行为的一个示例是在Google表单中的长答案文本选项中,它以一行开头:
并在我输入时展开:
我考虑将maxLines
设置为每次用户点击换行符时递增的计数器,但如何确定用户何时填写了换行符?
答案 0 :(得分:20)
Flutter在TextField中支持多线支持。引发issue后,0.0.16版本中添加了多行功能。
确保将flutter升级到最新版本。要使用多行TextField:
new TextField(
maxLines: null,
keyboardType: TextInputType.multiline,
)
希望这有帮助!
答案 1 :(得分:0)
它看起来像一个文本区域。您可以尝试使用 maxLines
maxLines:8
TextField(
maxLines: 8,
decoration: InputDecoration(hintText: "Enter your text here", border: OutlineInputBorder(),
labelText: 'Post Body'),
),