一尘不染

Flutter文本字段随用户类型而扩展

flutter

我有一个文本字段,需要具有多行,如下所示,以便文本自动换行,但是它占用了maxLines中定义的所有行的空间。我希望能够使它看起来像1行并随着文本换行而扩展。关于如何执行此操作的任何想法都扑朔迷离?

new TextField(
                decoration: const InputDecoration(
                  hintText: 'Reply',
                  labelText: 'Reply:',
                ),
                autofocus: false,
                focusNode: _focusnode,
                maxLines: 1,
                controller: _newreplycontroller,
                keyboardType: TextInputType.text,
              ),

阅读 308

收藏
2020-08-13

共1个答案

一尘不染

设置maxLines为null,它将自动 垂直 增长。

在此处有记录(但不是很清楚)(编辑:我已经创建了一个PR来更新此内容,对于这个问题,我应该首先做;)。为了弄清楚这一点,我最终查看了代码TextField及其超类,看看如果将其设置为null,行为将是什么。

因此,您的代码应如下所示:

new TextField( 
  decoration: const InputDecoration(
    hintText: 'Reply',
    labelText: 'Reply:',
  ),
  autofocus: false,
  focusNode: _focusnode,
  maxLines: null,
  controller: _newreplycontroller,
  keyboardType: TextInputType.text,
),

如果要使其 水平水平 自动增长,则可能不应该-至少不基于文本内容。但是我假设您想使其垂直垂直增长。

2020-08-13