Desaprobar SemanticsProperties.focusable y SemanticsConfiguration.isFocusable
El parámetro `focusable` ha sido reemplazado por `isFocused`.
Resumen
#Los parámetros SemanticsProperties.focusable y SemanticsConfiguration.isFocusable
fueron deprecados en favor de los parámetros SemanticsProperties.focused
y
SemanticsConfiguration.isFocused.
El parámetro focused ahora admite valores nulos.
Establecerlo en true o false establece automáticamente
isFocusable en true, mientras que
establecerlo en null establece isFocusable en false.
Contexto
#La propiedad SemanticsConfiguration.isFocusable es un booleano que
indica si el nodo semántico puede tener el foco de entrada.
SemanticsConfiguration.isFocused es un booleano que indica si el
nodo semántico tiene el foco de entrada.
Este cambio también se aplica a
SemanticsProperties.focusable y SemanticsProperties.focused.
Deprecamos isFocusable porque su funcionalidad está cubierta por isFocused.
La propiedad isFocused ahora se almacena como una bandera de tres estados en el motor,
y este cambio hace que el framework sea consistente con el motor.
Descripción del cambio
#La propiedad SemanticsConfiguration.isFocusable está
deprecada en favor de SemanticsConfiguration.isFocused.
Esta propiedad es un booleano que admite valores nulos; establecerla en true o false
automáticamente establece isFocusable en true, y
establecerla en null establece isFocusable en false.
Guía de migración
#Reemplaza SemanticsConfiguration.isFocusable con
SemanticsConfiguration.isFocused.
Ejemplo 1: Establecer isFocused en true establece automáticamente isFocusable
en true
#
Código antes de la migración:
void describeSemanticsConfiguration(SemanticsConfiguration config) {
config.isFocusable = true;
config.isFocused = true;
}
Código después de la migración:
void describeSemanticsConfiguration(SemanticsConfiguration config) {
config.isFocused = true;
}
Ejemplo 2: Establecer isFocused en null establece automáticamente isFocusable
en false
#
Código antes de la migración:
void describeSemanticsConfiguration(SemanticsConfiguration config) {
config.isFocusable = false;
config.isFocused = false;
}
Código después de la migración:
void describeSemanticsConfiguration(SemanticsConfiguration config) {
config.isFocused = null;
}
Timeline
#Introducido en la versión: 3.37.0-0.0.pre
En la versión estable: 3.38
Referencias
#Documentación de la API:
Problema relevante:
PR relevante:
A menos que se indique lo contrario, la documentación de este sitio refleja Flutter 3.44.0. Página actualizada por última vez el 2026-05-05. Ver código fuente oreportar un problema.