![](/img/trans.png)
[英]How to trigger onSubmitted on a Flutter for web TextField
[英]Flutter: How to close keyboard on onSubmitted() for TextField without lost focus
我有一個 TextField 小部件,在提交onSubmitted()
之后,我想繼續關注這個 TextField,使用readonly = false
但同時我想最小化鍵盤或關閉它,我不能使用
FocusScope.of(context).requestFocus(new FocusNode());
或者
FocusScope.of(context).unfocus();
或者
SystemChannels.textInput.invokeMethod('TextInput.hide');
當調用 onSubmit 時,鍵盤將被禁用,因為 readOnly 為真,但 TextField 將具有焦點。 但是當您點擊 TextField 時,會出現鍵盤,因為現在 readOnly 是 false 並且它已經有了焦點
class _MyAppState extends State<MyApp> {
bool read = false;
FocusNode focusNode = FocusNode();
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',
theme: ThemeData(
primarySwatch: Colors.blue,
),
home: Scaffold(
body: Center(
child: Container(
padding: EdgeInsets.all(10),
child: TextField(
onTap: () {
read = false;
setState(() {});
},
focusNode: focusNode,
readOnly: read,
cursorColor: Colors.blue,
onSubmitted: (val) async {
print(val);
read = true;
focusNode.requestFocus(new FocusNode());
setState(() {});
},
),
),
),
));
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.