Ir para conteúdo
Fórum Script Brasil
  • 0

Duvida com filtros do firebase


Henrique de Camargo Weigert

Pergunta

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

image.png.9940863d9b8d8ea8b0b295bf03ef0d55.png


nesse exemplo eu mudei os filtros 4 vezes, ai quando adiciono a tarefa ela é renderizada 4 vezes

image.png.68bab25f8830e9519cb5faaeb7f30197.png


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

 

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

 

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...