Cómo llamar una función en un widget padre desde un widget hijo | Flutter
Tengo un widget padre y un widget hijo. El widget padre tiene una función. Quiero llamar a esa función (myParentFunction) desde mi widget hijo. Este es el widget padre:
class ParentWidget extends StatelessWidget {
void myParentFunction() {
print("Esto es imprimir desde el padre");
}
@override
Widget build(BuildContext context) {
return Center(
child: MyCustomButton(),
);
}
}
Este es el widget hijo:
class MyCustomButton extends StatelessWidget {
void myChildFunction() {
print("Esto es imprimir desde el hijo");
// Aquí quiero llamar a myParentFunction()
}
@override
Widget build(BuildContext context) {
return ElevatedButton(
child: Text('Presionar'),
onPressed: () {
myChildFunction();
},
);
}
}
Aquí el resultado esperado es que al presionar el botón ‘Presionar’, quiero obtener la salida:
Esto es imprimir desde el hijo
Esto es imprimir desde el padre
¿Cómo puedo reescribir este código para obtener esa funcionalidad?
davy.ai
Puede utilizar el parámetro
BuildContext
del métodobuild
para acceder al métodomyParentFunction
del widget padre desde el widget hijo.En el widget hijo, puede utilizar el parámetro
BuildContext
del métodobuild
para acceder al métodomyParentFunction
del widget padre.Ahora, cuando presione el botón “Press”, la salida será:
This is print from child This is print from parent