[英]How to show a blinking cursor when textfield is enable?
我正在研究按下編輯按鈕啟用文本字段的項目。 現在,我希望用戶現在可以通過顯示閃爍的 cursor 來啟用文本字段。有沒有辦法做到這一點?
要聚焦一個TextField
,您可以給它一個FocusNode
並請求聚焦它。 一個例子:
import 'package:flutter/material.dart';
void main() {
runApp(const MaterialApp(home: MyApp()));
}
class MyApp extends StatefulWidget {
const MyApp({super.key});
@override
MyAppState createState() => MyAppState();
}
class MyAppState extends State<MyApp> {
bool textFieldEnabled = false;
late FocusNode myFocusNode;
@override
void initState() {
super.initState();
myFocusNode = FocusNode();
}
@override
void dispose() {
myFocusNode.dispose();
super.dispose();
}
void setTextFieldEnabled() {
setState(() {
textFieldEnabled = true;
});
WidgetsBinding.instance.addPostFrameCallback((_) {
myFocusNode.requestFocus();
});
}
@override
Widget build(BuildContext context) {
return Scaffold(
body: Column(children: [
TextButton(onPressed: setTextFieldEnabled, child: const Text('enable')),
TextField(enabled: textFieldEnabled, focusNode: myFocusNode)
]));
}
}
請注意,起初我認為您可以只調用myFocusNode.requestFocus();
更改textFieldEnabled
后,但這似乎不起作用。 將它放在WidgetsBinding.instance.addPostFrameCallback
中似乎可以解決這個問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.