Fórum Duvida com filtros do firebase #620926
12/01/2024
0
Olá, é minha primeira participação aqui, estou aprendendo js e como usar o firebase, estou fazendo uma lista de tarefas com alguns filtros, mas toda vez que muda os filtros está sendo feito uma requisição nova, ai quando envia o arquivo ele mostra na tela a tarefa adicionada varias vezes
https://prnt.sc/RWBO2ECowsnk
nesse exemplo eu mudei os filtros 4 vezes, ai quando adiciono a tarefa ela é renderizada 4 vezes, no banco adiciona normalmente uma tarefa, então quando atualiza a pagina mostra normalmente
https://prnt.sc/AVyRa82q232T
a mesma coisa acontecia com login e logout, mas ai coloquei um removeEventListerner e esta funcionando perfeitamente, mas nos filtros eu estou sem ideia de como fazer
a parte que ordena esta assim, se precisar de mais código só falar
https://prnt.sc/RWBO2ECowsnk
nesse exemplo eu mudei os filtros 4 vezes, ai quando adiciono a tarefa ela é renderizada 4 vezes, no banco adiciona normalmente uma tarefa, então quando atualiza a pagina mostra normalmente
https://prnt.sc/AVyRa82q232T
a mesma coisa acontecia com login e logout, mas ai coloquei um removeEventListerner e esta funcionando perfeitamente, mas nos filtros eu estou sem ideia de como fazer
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | const updateOrderList = user => { let inputName = 'taskValue' let orderValue = orderBy(inputName) let whereValue = '' orderAscDesc.forEach(radio => { if (!radio.checked) return if (radio.value === 'order__asc' ){ orderValue = orderBy(inputName) clearLis() } else if (radio.value === 'order__desc' ){ orderValue = orderBy(inputName, 'desc' ) clearLis() } }) orderChecked.forEach(radio => { if (!radio.checked) return if (radio.value === 'Completas' ){ whereValue = where( "checked" , "==" , true ) clearLis() } else if (radio.value === 'Incompletas' ){ whereValue = where( "checked" , "==" , false ) clearLis() } }) orderAlphaDate.forEach(radio => { if (!radio.checked) return if (radio.value === 'data' ){ inputName = 'date' clearLis() } else if (radio.value === 'alpha' ){ inputName = 'taskValue' clearLis() } }) const onlyUser = where( 'userID' , '==' , user.uid) const queryPhrases = query( collectionTask, whereValue, onlyUser, orderValue ) clearLis() onSnapshot(queryPhrases, renderTasks) } |
a parte que ordena esta assim, se precisar de mais código só falar

Henrique Weigert
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)