es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

No se puede devolver un valor de tipo ‘TextSpan’ desde el método ‘build’ porque tiene un tipo de retorno ‘Widget’.

Necesito crear un SpanText personalizado, pero encontré este problema.

No se puede devolver un valor de tipo ‘TextSpan’ desde el método ‘build’ porque tiene un tipo de retorno ‘Widget’.

El código es:

class StareWidget extends StatelessWidget {
  const StareWidget({Key? key, required this.text}) : super(key: key);
  final String text;
  @override
  Widget build(BuildContext context) {
    return TextSpan();
  }
}
Tags:  ,

Answer

  1. Avatar for davy.ai

    Para crear un SpanText personalizado, no puedes devolver un TextSpan desde el método build ya que tiene un tipo de retorno de Widget. Para resolver este problema, debes devolver un widget RichText que contenga tu TextSpan. Tu código debería verse así:

    class StareWidget extends StatelessWidget {
      const StareWidget({Key? key, required this.text}) : super(key: key);
      final String text;
    
      @override
      Widget build(BuildContext context) {
        return RichText(
          text: TextSpan(
            text: text,
            style: TextStyle(color: Colors.black),
          ),
        );
      }
    }
    

    Con esta modificación, tu SpanText personalizado tomará un valor de tipo string y devolverá un widget RichText que contiene tu TextSpan con color negro.

Comments are closed.