feat: textField 新增 focusNode 設置
新增 focusNode 用以控制游標目標位置
This commit is contained in:
@@ -18,6 +18,7 @@ class RegisterPage extends StatefulWidget {
|
|||||||
}
|
}
|
||||||
|
|
||||||
class _RegisterPageState extends State<RegisterPage> {
|
class _RegisterPageState extends State<RegisterPage> {
|
||||||
|
late FocusNode _nameFocusNode, _emailFocusNode, _passwordFocusNode, _codeFocusNode;
|
||||||
final TextEditingController _nameController = TextEditingController();
|
final TextEditingController _nameController = TextEditingController();
|
||||||
final TextEditingController _emailController = TextEditingController();
|
final TextEditingController _emailController = TextEditingController();
|
||||||
final TextEditingController _passwordController = TextEditingController();
|
final TextEditingController _passwordController = TextEditingController();
|
||||||
@@ -33,6 +34,10 @@ class _RegisterPageState extends State<RegisterPage> {
|
|||||||
void initState() {
|
void initState() {
|
||||||
super.initState();
|
super.initState();
|
||||||
_fetchData();
|
_fetchData();
|
||||||
|
_nameFocusNode = FocusNode();
|
||||||
|
_emailFocusNode = FocusNode();
|
||||||
|
_passwordFocusNode = FocusNode();
|
||||||
|
_codeFocusNode = FocusNode();
|
||||||
}
|
}
|
||||||
|
|
||||||
void _fetchData() async {
|
void _fetchData() async {
|
||||||
@@ -124,7 +129,6 @@ class _RegisterPageState extends State<RegisterPage> {
|
|||||||
databaseName: 'care',
|
databaseName: 'care',
|
||||||
);
|
);
|
||||||
await conn.connect();
|
await conn.connect();
|
||||||
|
|
||||||
try {
|
try {
|
||||||
String name = _nameController.text;
|
String name = _nameController.text;
|
||||||
String email = _emailController.text;
|
String email = _emailController.text;
|
||||||
@@ -172,8 +176,13 @@ class _RegisterPageState extends State<RegisterPage> {
|
|||||||
|
|
||||||
@override
|
@override
|
||||||
void dispose() {
|
void dispose() {
|
||||||
_timer?.cancel();
|
|
||||||
super.dispose();
|
super.dispose();
|
||||||
|
_timer?.cancel();
|
||||||
|
|
||||||
|
_nameFocusNode.dispose();
|
||||||
|
_emailFocusNode.dispose();
|
||||||
|
_passwordFocusNode.dispose();
|
||||||
|
_codeFocusNode.dispose();
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
@@ -207,6 +216,7 @@ class _RegisterPageState extends State<RegisterPage> {
|
|||||||
SizedBox(height: 20),
|
SizedBox(height: 20),
|
||||||
TextField(
|
TextField(
|
||||||
controller: _nameController,
|
controller: _nameController,
|
||||||
|
focusNode: _nameFocusNode,
|
||||||
decoration: InputDecoration(
|
decoration: InputDecoration(
|
||||||
border: OutlineInputBorder(),
|
border: OutlineInputBorder(),
|
||||||
prefixIcon: Icon(Icons.person_outlined),
|
prefixIcon: Icon(Icons.person_outlined),
|
||||||
@@ -216,6 +226,7 @@ class _RegisterPageState extends State<RegisterPage> {
|
|||||||
SizedBox(height: 20),
|
SizedBox(height: 20),
|
||||||
TextField(
|
TextField(
|
||||||
controller: _emailController,
|
controller: _emailController,
|
||||||
|
focusNode: _emailFocusNode,
|
||||||
decoration: InputDecoration(
|
decoration: InputDecoration(
|
||||||
border: OutlineInputBorder(),
|
border: OutlineInputBorder(),
|
||||||
prefixIcon: Icon(Icons.email_outlined),
|
prefixIcon: Icon(Icons.email_outlined),
|
||||||
@@ -226,6 +237,7 @@ class _RegisterPageState extends State<RegisterPage> {
|
|||||||
SizedBox(height: 20),
|
SizedBox(height: 20),
|
||||||
TextField(
|
TextField(
|
||||||
controller: _passwordController,
|
controller: _passwordController,
|
||||||
|
focusNode: _passwordFocusNode,
|
||||||
decoration: InputDecoration(
|
decoration: InputDecoration(
|
||||||
border: OutlineInputBorder(),
|
border: OutlineInputBorder(),
|
||||||
prefixIcon: Icon(Icons.lock_outlined),
|
prefixIcon: Icon(Icons.lock_outlined),
|
||||||
@@ -251,6 +263,7 @@ class _RegisterPageState extends State<RegisterPage> {
|
|||||||
Expanded(
|
Expanded(
|
||||||
child: TextField(
|
child: TextField(
|
||||||
controller: _codeController,
|
controller: _codeController,
|
||||||
|
focusNode: _codeFocusNode,
|
||||||
decoration: InputDecoration(
|
decoration: InputDecoration(
|
||||||
labelText: '驗證碼',
|
labelText: '驗證碼',
|
||||||
hintText: '填寫驗證碼',
|
hintText: '填寫驗證碼',
|
||||||
|
|||||||
Reference in New Issue
Block a user