在TextFormField Flutter中聚焦时如何清空提示文本

时间:2019-11-23 05:50:33

标签: flutter flutter-layout

我想使TextFormField中的提示文本在焦点集中时消失。但是提示文本不会消失,除非我在该字段中插入一个字符。我做了以下。当焦点集中时,如何使提示文本消失?谢谢!

vs code

enter image description here

2 个答案:

答案 0 :(得分:1)

改为使用labelText

 TextFormField(
            controller: fullNameController,
            validator: (value) {
              if (value.trim().isEmpty) {
                return Lang.enterFullName;
              }
              return null;
            },
            decoration: InputDecoration(
              labelText: Lang.fullName,
              prefixIcon: Icon(Icons.person),
            ),
            keyboardType: TextInputType.text,
            textInputAction: TextInputAction.next,
          ),

答案 1 :(得分:1)

您可能必须添加一个侦听器来侦听焦点更改:

FocusNode myFocusNode = FocusNode();

myFocusNode.addListener( () {
   setState((){});
}

然后,在InputDecoration内部更新值:

hintText: myFocusNode.hasFocus ? hintText : ''