Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

329
Vistas
¿Cómo eliminar el elemento en el que haces clic de Firestore?

He creado bancos que se muestran desde la base de datos en forma de tarjetas. ¿Cómo puedo tomar la identificación del documento en el que hago clic y eliminar esta tarjeta de la base de datos?

 function getBanks() { db.collection("banks").onSnapshot((snapshot) => { let banks = []; snapshot.docChanges().forEach((change) => { const bank = change.doc.data(); if (change.type === "added") { banks.push(bank); generateBanks([bank]); } else if (change.type === "removed") { console.log("Removed bank: ", bank ); } }); }); } function generateBanks(banks) { banks.forEach((bank) => { ... const bank_delete_el = document.createElement("button"); bank_delete_el.classList.add("delete"); bank_delete_el.innerText = "Delete"; }); }); }

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Aquí hay un ejemplo simple que usa el detector de eventos de clic y la delete de firebase:

 function generateBanks(banks) { banks.forEach((bank) => { ... const bank_delete_el = document.createElement("button"); bank_delete_el.classList.add("delete"); bank_delete_el.innerText = "Delete"; bank_delete_el.addEventListener("click", (_event) => { console.log("Deleting bank...", bank); db.collection("banks").doc(bank.id).delete() .then(() => { console.log("Bank successfully deleted!"); }) .catch((error) => { console.error("Error removing Bank: ", error); }); }); }); }

Aquí están los documentos para addEventListener y firebase delete .

También parece que a su cuerpo docChanges le falta el campo de id para nuevos bancos, que es necesario para la eliminación.

 const bank = change.doc.data(); // Should be const bank = { id: change.doc.id, ...change.doc.data(), };
about 4 years ago · Juan Pablo Isaza Denunciar

0

Puede intentar agregar la id del documento como un data-attribute , por ejemplo:

 function generateBanks(banks) { banks.forEach((bank) => { ... const bank_delete_el = document.createElement("button"); benk_delete_el.setAttribute("bank-id", bank.id); // add the id as data attribute bank_delete_el.classList.add("delete"); bank_delete_el.innerText = "Delete"; }); }); }

Esto creará el botón como

 <button class="delete" data-bank-id="some-id-123"> Delete </button>

Luego, cuando hace clic en el botón Eliminar, puede obtener la identificación y eliminarla de Firestore.

 // on click -> get button element, then const bankId = myButton.getAttribute("bank-id"); db.collection("banks").doc(bankId).delete().then(() => { // ... });
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda