1
resposta

[Projeto] Desafio - Resolução

Prezados,

Como muitos outros, também tive problema na hora de realizar o desafio. Abaixo deixo uma sugestão dos passos de como implementei a resolução levando em consideração como foi deixado o projeto na aula "Dropdown de origem e destino".

No arquivo dropdown-uf.component.ts:

  1. Realize as importações abaixo.

import { map, Observable, startWith } from 'rxjs';

  1. Crie uma variável para representar o input do html.

    @Input() control!: FormControl;

  2. Altere o tipo de do atributo das opções de filteredOptions = []; para filteredOptions!: Observable<UnidadeFederativa[]>;.

  3. Crie o método abaixo para realizar o filtro dos estados.

private _filter(value: string): UnidadeFederativa[] {
    const filterValue = value?.toLowerCase();

    return this.unidadesFederativas.filter((estado) =>
      estado.nome.toLowerCase().includes(filterValue)
    );
  }
  1. No método ngOnInit, após listar as opções de estado, inclua o código abaixo.
    this.filteredOptions = this.control.valueChanges.pipe(
      startWith(this.control.value),
      map((value) => {
        return this._filter(value as string);
      })
    );

No arquivo dropdown-uf.component.html:

  1. Vincule a variável criada (control) no input do layout html.

Insira aqui a descrição dessa imagem para ajudar na acessibilidade2. Devolva o | async retirado em aulas anteriores no loop.

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

  1. Acrescente o atributo nome no objeto que está sendo mostrado.

<mat-option [value]="option.nome">{{ option.nome }}</mat-option>

No arquivo form-busca.component.html:

  1. Nos campos de origem e Destino acrescenta o input do campo correto.

Insira aqui a descrição dessa imagem para ajudar na acessibilidadeInsira aqui a descrição dessa imagem para ajudar na acessibilidade

Obs: Apenas enumerei os passos que realizei para resolver os desafios, há aguns conceitos que não foram abordados que requerem estudos a parte para uma melhor compreensão.

1 resposta

Existe uma clara falha no roteiro do curso, em nenhum momento da atividade 3 ou atividade anteriores foi dito algo sobre o desafio de complementar a atividade. Quando se vai para a atividade 4, claramente existe um gap, ja inicia dizendo sobre cache, porem nada foi dito no vídeo anterior sobre cache ou o desafio de implementar o serviço de busca das unidades federativas. Olhando o código pronto no Git vc entende o que deve ser feito. No Fórum também a reclamações sobre esse erro. Então minha sugestão é a partir do item 3 pular para item 6, esse sim comenta sobre o misterioso desafio, e assim que completar a atividade 6, retornar para atividade 4 e continuar o curso.