`FocusNode` — это объект, который отслеживает фокус ввода для виджета (например, `TextField`). С его помощью можно программно устанавливать, снимать или слушать изменение фокуса.
Если вы используете `FocusNode` в `StatefulWidget`, не забудьте вызвать `focusNode.dispose()` в `dispose()` метода виджета.
Основные свойства
hasFocus (bool)
Булевое значение: `true`, если фокус находится на этом узле.
canRequestFocus (bool)
Определяет, может ли этот узел принимать фокус. По умолчанию `true`.
hasPrimaryFocus (bool)
`true`, если этот узел — основной в иерархии фокуса.
Основные методы
requestFocus() (void)
Программно устанавливает фокус на этот узел.
unfocus() (void)
Снимает фокус с этого узла.
dispose() (void)
Освобождает ресурсы, связанные с `FocusNode`. Вызывается в `dispose()` метода виджета.
`FocusNode` нельзя повторно использовать в нескольких `TextField`. Для каждого поля ввода нужен отдельный `FocusNode`.