DropdownButtonFormField不会第一次重置

时间:2020-04-28 05:19:29

标签: flutter dart drop-down-menu

我想重置DropdownButtonFormField。我要通过将其值设置为null并使用globalkey作为以下代码来重置它。

在这里,问题是我需要单击两次以将其重置。

注意:我知道使用DropdownButton,我们可以更轻松地进行重置,但是我的问题是,为什么当我第一次单击时DropdownButtonFormField不会重置。

更新后:

[
  inputs: ["{mix,.formatter}.exs", "{config,lib,test}/**/*.{ex,exs}"],
  locals_without_parens: [:defp]
]

1 个答案:

答案 0 :(得分:1)

您可能需要进行手动对焦 您还需要提供全局密钥来形成


FocusNode _node = FocusNode();
...


  Focus(
                focusNode: _node,
                onFocusChange: (bool focus) {
                  setState(() {});
                },
                child: Listener(
                  onPointerDown: (_) {
                    FocusScope.of(context).requestFocus(_node);
                  },
                  child: DropdownButtonFormField(
                    iconSize: 50,
                    onChanged: (s) {
                      setState(() {
                        abc = s;
                      });
                    },
                    hint: Text(
                      'Select Text',
                    ),
                    items: [
                      DropdownMenuItem(value: '1', child: Text('A')),
                      DropdownMenuItem(value: '2', child: Text('B')),
                      DropdownMenuItem(value: '3', child: Text('C')),
                      DropdownMenuItem(value: '4', child: Text('D')),
                    ],
                  ),
                ),
              ),

...
 FloatingActionButton(
          onPressed: () {
            setState(() {
              print("hello");
              abc = null;
              _key.currentState.reset();
            });
            // _flyIronMan();
          },
          child: Icon(Icons.add),
        ),