Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

[Bug] Erro ao carregar tarefas/cards

Bug ao carregar tarefas: No método toList não consegui usar o line para cada um dos meus parâmentros igual o Kako fez, pois dá um erro que no dele não deu.

List<CardPatientInformation> toList(List<Map<String, dynamic>> mapDeTarefas) {
    print('Printa a informação corretamente: Convertendo o mapa em uma lista, função toList() iniciando');
    final List<CardPatientInformation> tarefas = [];

    for (Map<String, dynamic> line in mapDeTarefas) {
      print('Printa essa informção corretamente');
      final CardPatientInformation cardTest = CardPatientInformation(
        line[_name],
        line[_anoNascimento],
        line[_motherName],
        line[_startDate],
        line[_endDate],
        line[_doctor],
        line[_doctor],
      );
      print('Não consegue chegar até aqui, não printa no terminal.');
      tarefas.add(cardTest); // Adicionando cada tarefa convertida à lista
    }

    print('Lista de tarefas: $tarefas');
    return tarefas;
  }

Código do KAKO:


 List<Task> toList(List<Map<String, dynamic>> mapaDeTarefas) {
    print('Convertendo to List:');
    final List<Task> tarefas = [];
    
    for (Map<String, dynamic> linha in mapaDeTarefas) {
      final Task tarefa = Task(
        linha[_name],
        linha[_image],
        linha[_difficulty],
      );
      tarefas.add(tarefa);
    }
    print('Lista de Tarefas: ${tarefas.toString()}');
    return tarefas;
  }

Erro que ocorreu no meu computador:

The named parameter 'endDate' is required, but there's no corresponding argument. (Documentation) Try adding the required argument.

The named parameter 'startDate' is required, but there's no corresponding argument. (Documentation) Try adding the required argument.

The named parameter 'anoNascimento' is required, but there's no corresponding argument. (Documentation) Try adding the required argument.

The named parameter 'doctor' is required, but there's no corresponding argument. (Documentation) Try adding the required argument.

The named parameter 'name' is required, but there's no corresponding argument. (Documentation) Try adding the required argument.

The named parameter 'motherName' is required, but there's no corresponding argument. (Documentation) Try adding the required argument.

The named parameter 'doctor' is required, but there's no corresponding argument. (Documentation) Try adding the required argument.

3 respostas

I/flutter (23490): Procurando dados no banco de dados... encontrado olha só: [{idPatient: 1, patientName: Bernardo, anoNascimento: 05-08-2000, motherName: null, startDate: 09-09, endDate: 19-09, doctorName: null}, {idPatient: 2, patientName: Cuiaba, anoNascimento: 08-20, motherName: null, startDate: 09-09, endDate: 19-09, doctorName: null}, {idPatient: 3, patientName: Flavia Freitas, anoNascimento: 05-98, motherName: null, startDate: 09-09, endDate: 19-09, doctorName: null}] I/flutter (23490): Printa a informação corretamente: Convertendo o mapa em uma lista, função toList() iniciando I/flutter (23490): Printa essa informção corretamente I/flutter (23490): snapshotConnectionState.done I/flutter (23490): hasData=false I/flutter (23490): hasData2=false

solução!

O erro que você está vendo indica que faltam parâmetros obrigatórios na hora de criar os objetos CardPatientInformation.

Dá uma olhada nos nomes dos parâmetros que estão faltando: endDate, startDate, anoNascimento, doctor, name e motherName. Tenha certeza de que você está passando todos esses parâmetros para o construtor de CardPatientInformation corretamente.

No código do Kako, você pode ver como ele está passando os parâmetros corretos para o construtor de Task.

Para resolver o problema no seu código, tente o seguinte:

  1. Verifica se você está mapeando os nomes das chaves no seu JSON para os nomes corretos dos parâmetros no construtor de CardPatientInformation.
  2. ve se todos os dados necessários estão presentes no JSON que você está recebendo do banco de dados.
  3. Se você estiver usando um ORM ou biblioteca similar, verifique se ela está mapeando os campos do banco de dados para os parâmetros do modelo de forma correta.

Se o problema persistir, você pode tentar as seguintes dicas:

  • Adicione um breakpoint no ponto em que o erro está acontecendo e inspecione as variáveis para ver o que está acontecendo.
  • Imprima os valores das chaves do JSON no console para verificar se os dados estão corretos.
  • Tenta usar um debugger para acompanhar o fluxo do seu código e identificar a origem do problema.

Lembre-se que o erro "The named parameter 'X' is required, but there's no corresponding argument" significa que o parâmetro X é obrigatório, mas não foi encontrado nenhum argumento para ele.

Espero que essas dicas te ajudem a resolver o problema! Se ainda precisar de ajuda, pode me dar mais detalhes sobre o seu código e o erro que você está recebendo.

Obrigado deu certo