1
resposta

Erro - Campos opcionais

Bom dia,

seguinte a aula, com o seguinte código:

  final TextEditingController controlador;
  final String rotulo;
  final String dica;
  final IconData icone;

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

Estou rodando o flutter 2.0, e isso me retornou erro. Pois como é um atributo opcional, os atributos não vão receber os tipos de dados informado.

Para resolver eu fiz isso:

  final TextEditingController? controlador;
  final String? rotulo;
  final String? dica;
  final IconData? icone;

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

Colocando o ?, eu defino que o tipo de dado pode ser por exemplo String ou NULL.

Eu resolvi de forma certa o problema?

1 resposta

Olá João, fiz parecido com você, só que eu coloquei required antes dos atributos que eram necessários todas as vezes, e coloquei a interrogação só nos itens que não eram obrigatórios:

class CriaCampo extends StatelessWidget {
  final TextEditingController controlador;
  final String rotulo;
  final String dica;
  final OutlineInputBorder? borda;
  final IconData? icone;
  final TextInputType? tipo;

  CriaCampo(
      {required this.controlador,
      required this.rotulo,
      required this.dica,
      this.borda,
      this.icone,
      this.tipo});

Gostei tanto da brincadeira que adicionei até uns campos a mais.