2
respostas

Problema no Null, requer o Icon, na nova versão

class Editor extends StatelessWidget { final TextEditingController controlador; final String rotulo; final String dica; final IconData icone;

Editor({this.controlador, this.rotulo, this.dica, this.icone});

@override Widget build(BuildContext context) { return Padding( padding: const EdgeInsets.all(16.0), child: TextField( controller: controlador, style: TextStyle(fontSize: 24.0), decoration: InputDecoration( icon: icone != null ? Icon(icone) : null, labelText: rotulo, hintText: dica, ), keyboardType: TextInputType.number, ), ); } }

Nesse codigo, descrito no aula, na nova versão ele exige a declaracao! Como faço pra adaptar!?

2 respostas

Adicione o ? após o tipo da variavel e assim poderá ter valores null.

class Editor extends StatelessWidget {
  final TextEditingController? controlador;
  final String? rotulo;
  final String? dica;
  final IconData? icone;

  Editor({this.controlador, this.rotulo, this.dica, this.icone});

  @override
  Widget build(BuildContext context) {
    return Padding(
      padding: const EdgeInsets.all(16.0),
      child: TextField(
        controller: controlador,
        style: TextStyle(fontSize: 24.0),
        decoration: InputDecoration(
          icon: icone != null ? Icon(icone) : null,
          labelText: rotulo,
          hintText: dica,
        ),
        keyboardType: TextInputType.number,
      ),
    );
  }
}

Obrigado, dúvida solucionada!