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

'value' does not exist on type 'EventTarget'

Alguem poderia me explicar o erro?

Build at: 2020-12-23T17:10:03.179Z - Hash: 896dc90b1c89ab079b62 - Time: 711ms

√ Compiled successfully.

    Error: src/app/photos/photo-list/search/search.component.html:9:48 - error TS2531: Object is possibly 'null'.

    9           (keyup)="debounce.next($event.target.value)"
                                                     ~~~~~

      src/app/photos/photo-list/search/search.component.ts:7:18
        7     templateUrl: './search.component.html'
                           ~~~~~~~~~~~~~~~~~~~~~~~~~
        Error occurs in the template of component SearchComponent.
    src/app/photos/photo-list/search/search.component.html:9:48 - error TS2339: Property 'value' does not exist on type 'EventTarget'.

    9           (keyup)="debounce.next($event.target.value)"
                                                     ~~~~~

      src/app/photos/photo-list/search/search.component.ts:7:18
        7     templateUrl: './search.component.html'
2 respostas
solução!

Também passei por esse problema, Lucimara.

Daí pesquisando na documentação do Angular, vi que o recomendado é fazer assim:

<input 
      #buscaDescricao
      type="search" 
      class="rounded"
      placeholder="Procure por uma foto"
      autofocus
      (keyup) = "observavelFiltro.next(buscaDescricao.value)"
    />

Ao invés de passar o $event que contém muita informação e perde a tipagem, a documentação orienta usar o que ele chamar de "template reference variable", que é aquele #buscaDescricao do snippet acima. E aí eu passo o buscaDescricao.value para o observavelFiltro.next().

Fazendo assim, o erro aqui desapareceu. Espero que te ajude também!

Thiago, muito obrigada pela explicação. Fiz as alterações e deu certo!