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

Erro na propriedade 'toLowerCase'

Boa tarde, Flávio! Está apresentando um erro na propriedade 'toLowerCase' e o erro aponta o listagem.component.html. Conferi várias vezes os códigos de outras telas e estão iguais ao seu código. O erro é: Cannot read property 'toLowerCase' of undefined. O erro aponta para esta linha: <foto titulo="{{foto.titulo}}" url="{{foto.url}}"> Que está relacionada com a linha return fotos.filter( foto => foto.titulo.toLowerCase().includes(digitado));

5 respostas
solução!

Boa tarde, Cicero! Como vai?

Não sou o mestre Flávio, mas vou tentar te ajudar!

O que está acontecendo é que a propriedade titulo da sua foto está undefined e, por isso, vc não consegue executar o método toLowerCase(). Possivelmente pode ser um título de foto que vc inseriu de forma incorreta pela interface e que agora está causando esse problema ou outra coisa do tipo.

Vamos fazer assim:

Passo 1: Faça o seguinte:

return fotos.filter( foto => foto.titulo && foto.titulo.toLowerCase().includes(digitado));

Isso fará com que o erro pare de acontecer, no entanto, não é uma solução e sim apenas um paliativo.

Passo 2: Quando recuperar a lista de fotos da API, faça um console.log() da lista retornada para que possamos ver qual é o estado dela. E cole aqui o resultado.

Bom dia, Gabriel! Foi isso mesmo. Inseri um título com somente vírgulas para testar e causou esse erro. No caso, eu teria que excluir esse teste e voltar com o código antigo?

Se vc quiser voltar pro código antigo, terá que excluir essa foto sim. Mas, acho que vc pode manter o código da forma como te mostrei, até pq não vai impactar negativamente na sua aplicação.

Tranquilo. Vou manter o código e prosseguir. Muito obrigado Gabriel!

Por nada, Cicero! Sempre que tiver qualquer dúvida é só mandar aqui no fórum!

Grande abraço e bons estudos!