3
respostas

Ao criar um novo contato, parece que não atualiza a lista de contatos.

Ao criar um novo contato, parece que não atualiza a lista de contatos. Tenho que voltar ao Dashboard e depois entrar na lista novamente.

3 respostas

Oi Pablo, tudo bem ?

Consegue compartilhar conosco seu código ?

na contacts_list.dart o botão + está assim:

floatingActionButton: FloatingActionButton(
        onPressed: () {
          Navigator.of(context).push(
            MaterialPageRoute(
              builder: (context) => ContactForm(),
            ),
          );

e no contact_form.dart o botão Create está assim:

child: RaisedButton(
    child: Text("Create"),
    onPressed: (){
    final String name = _nameController.text;
    final int accountNumber = int.tryParse(_accountNumberController.text);
    final Contact newContact = Contact(0, name, accountNumber);
    _dao.save(newContact).then((id) => Navigator.pop(context));
    }),
),

parece que falta algo que faça chamar novamente o listAll após inserir um novo contato.

Fala Pablo, de boa?

Não sei se o Alex chega a fazer isso no curso, mas você pode fazer o pop devolver algo e pegar sendo um future do push, ai consegue validar se precisa fazer uma nova busca e alterar o estado da tela.

 _dao.save(newContact).then((id) => Navigator.pop(context, newContact));
Navigator.of(context).push(
            MaterialPageRoute(
              builder: (context) => ContactForm(),
            ),
          ).then((value) { // aqui voce atualiza a tela });

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