flutter 将函数从另一个类传递到自定义小部件

pod7payv  于 2023-05-29  发布在  Flutter
关注(0)|答案(2)|浏览(185)

我有一个名为BotonEnviar的小部件,用于在点击时启动自定义函数:

class BotonEnviar extends StatelessWidget {
   BotonEnviar({Key? key, required this.funcion, required this.texto}) : super(key: key);

  final void Function() funcion;
  final String texto;

  @override
  Widget build(BuildContext context) {
    return Container(
      height: 40,
      width: 180,
      child: ElevatedButton(
        onPressed: () {
          print("pulsado enviar visto en el widget del boton");
          this.funcion;

        },
        child: Text(
          '${this.texto}' ,
          style: TextStyle(color: Colors.white,fontSize: 18),
        ),
      ),
    );
  }
}

这里有一个使用BotonEnviar的类:

...
SizedBox(
                      height: 15,
                    ),
                    BotonEnviar(funcion: () {
                      print("pulsado boton");

                      PublicarTema().publicarTema(temaController.text);
                    }, texto: 'Enviar',
                    ),

...

在本例中,我需要执行PublicarTema().publicarTema(temaController.text);当点击BotonEnviar时。
下面是PublicarTema()类:

class PublicarTema {


  publicarTema(String titulo){
    
    //accion al pulsar boton ENVIAR
    print("itulo recibido ${titulo}");

  }
}

我想我没有按照我应该做的去做任何事情。我想要的是在我的应用程序中保持一个干净的代码。
我点击BotonEnviar后得到的只是以下输出:

print("pulsado enviar visto en el widget del boton");

而不是来自

print("itulo recibido ${titulo}");

我该改什么?

qxgroojn

qxgroojn1#

调用函数时忘记了括号。将this.funcion;替换为this.funcion();

zrfyljdw

zrfyljdw2#

在函数调用中添加()将修复它。添加this.funcion()

相关问题