Enhance SubSpacesInput: Introduce FocusNode for improved text field focus management. This change allows the input field to regain focus after adding a subspace, enhancing user experience and maintaining clean state management practices.

This commit is contained in:
Faris Armoush
2025-07-06 09:04:13 +03:00
parent 757a96ed9f
commit 95cded4bf5

View File

@ -22,16 +22,18 @@ class SubSpacesInput extends StatefulWidget {
class _SubSpacesInputState extends State<SubSpacesInput> {
late final TextEditingController _subspaceNameController;
late final FocusNode _focusNode;
@override
void initState() {
super.initState();
_subspaceNameController = TextEditingController();
_focusNode = FocusNode();
}
@override
void dispose() {
_subspaceNameController.dispose();
_focusNode.dispose();
super.dispose();
}
@ -78,6 +80,7 @@ class _SubSpacesInputState extends State<SubSpacesInput> {
SizedBox(
width: 200,
child: TextField(
focusNode: _focusNode,
controller: _subspaceNameController,
decoration: InputDecoration(
border: InputBorder.none,
@ -91,6 +94,7 @@ class _SubSpacesInputState extends State<SubSpacesInput> {
if (trimmedValue.isNotEmpty) {
widget.onSubspaceAdded(trimmedValue);
_subspaceNameController.clear();
_focusNode.requestFocus();
}
},
style: context.textTheme.bodyMedium,