有没有一种方法可以减少Flutter中TextFormField小部件的高度

问题描述 投票:0回答:1

这是一个TextFormField的代码,该代码包装在SizedBox小部件中,用于设置TextFormField的高度,但在TextFormField下方显示验证消息时会缩小。

Widget _firstNameField() {
    return SizedBox(
      height: 35,
      child: TextFormField(
        keyboardType: TextInputType.text,
        validator: _validateFirstName,
        onFieldSubmitted: (value) {
          FocusScope.of(contextenter code here).requestFocus(lastNameFocusNode);
        },
        onSaved: (value) {
          _firstName = value;
        },
      ),
    );
  }

<< img src =“ https://image.soinside.com/eyJ1cmwiOiAiaHR0cHM6Ly9pLnN0YWNrLmltZ3VyLmNvbS9WbVkxZWwucG5nIn0=” alt =“在此处输入图像描述”>

flutter dart flutter-layout
1个回答
-1
投票

如果要更改SizedBox的高度,从而触发验证时的FormField,则需要:

1)确保您使用的是StatefulWidget,而不是StatelessWidget。

2)使用变量,将其命名为_textFormFieldHeight,并将其分配给您的初始高度,如下所示:

int _textFormFieldHeight = 35

return SizedBox(
      height: _textFormFieldHeight,

无论何时触发您的验证码(在_validateFirstName中的某个位置,请致电:setState(() => _textFormFieldHeight = 15);

这应该可以解决问题!

© www.soinside.com 2019 - 2024. All rights reserved.