我想重置DropdownButtonFormField。我要通过将其值设置为null并使用globalkey作为以下代码来重置它。
在这里,问题是我需要单击两次以将其重置。
注意:我知道使用DropdownButton,我们可以更轻松地进行重置,但是我的问题是,为什么当我第一次单击时DropdownButtonFormField不会重置。
更新后:
[
inputs: ["{mix,.formatter}.exs", "{config,lib,test}/**/*.{ex,exs}"],
locals_without_parens: [:defp]
]
答案 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),
),