Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Dúvida variavel

Boa tarde, pessoal. estou começando agora com flutter e tenho uma dúvida na declaração da variável. Como estou fazendo: Como podem observar estou pasando um final String orgaonovo; CarouselDemo({this.orgaonovo}); e ele me traz os dados o PROBLEMA é na hora de usar essa variável em var encodeString = base64.encode(orgaonovo.codigo) ele fica vermelhinho apontando erro

class CarouselDemo extends StatefulWidget {
      final String orgaonovo;
      CarouselDemo({this.orgaonovo});

      @override
      CarouselDemoState createState() => CarouselDemoState();
    }

class CarouselDemoState extends State<CarouselDemo> {
  final DoencaWebClient _webClient = DoencaWebClient();
  List<Doenca> nome = List();
  List<Doenca> filterNome = List();
  var encodeString = base64.encode(orgaonovo.codigo);

  @override
  void initState() {
    super.initState();
    _webClient.findAll(encodeString).then((usersFromServer) {
      setState(() {
        nome = usersFromServer;
        filterNome = nome;
      });
    });
  }

API que estou tentando acessar:

I/flutter (24196): {id: 1, codigo: 4957}

Minha dúvida é referente a variável final String orgaonovo;

o erro que aparece ao passar o mouse na variavel dentro da Classe CarouselDemoState:

*Undefined name 'orgaonovo'.
Try correcting the name to one that is defined, or defining the name*
1 resposta
solução!

Olá Victor, tudo bem com você?

Conseguiu resolver seu problema ? Espero que sim :)

Eu não entendi muito bem o que você fez, pois você declarou uma String com nome orgaonovo e dentro do seu state você está tentando acessar um atributo, o que não faz muito sentido ( já que código não é um valor de Strings), acredito que já que você pretende pegar um atributo código não seria uma string e sim um objeto que você criou

O segundo problema é que quando queremos acessar atributos que estão presentes dentro do nosso StatefulWidget temos que utilizar a palavra widget, então seria na verdade:

widget.orgaonovo.codigo

Por isso ele dizia que não era definido (undefined name), pois na verdade ele está definido apenas no stateful

Um outro problema é que não podemos acessar variáveis não estáticas dentro do nosso State, então todo esse código:

  var encodeString = base64.encode(orgaonovo.codigo);

Deveria estar dentro do nosso initState() e dessa maneira não teríamos mais erros de compilação :)

Abraços e Bons Estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software