#javascript #html #firebase #google-cloud-firestore #onclicklistener
# #javascript #HTML #firebase #google-облако-firestore #onclicklistener onclicklistener
Вопрос:
const setupProducts = (data) => {
if (data.length) {
let html = '';
data.forEach(doc => {
const product = doc.data();
const li = `
<li>
<div class="collapsible-header grey lighten-4"> ${product.title} </div>
<div class="collapsible-header grey lighten-4"> ${doc.id} </div>
<div class="collapsible-body white"> ${product.content}
<a href="" class="secondary-content">
<a class="btn orange modal-trigger" >Get ID</a>
</a>
</li>
`;
html = li;
});
productList.innerHTML = html
} else {
productList.innerHTML = '<h5 class="center-align">Login to view products</h5>';
}
};
Моя идея заключается в том, что я хочу получить идентификатор, нажав на документ, а затем product.title
нажав на db.collection('activeWorks').doc(doc.id or product.id (I don't know what's right...)).set
ввод . Я понятия не имею, как это сделать, пожалуйста, помогите
Ответ №1:
Возможно, сделайте что-то вроде этого: установите id
для тега каждого <li>
элемента идентификатор документа из Firestore, затем прикрепите триггер onclick
события
const setupProducts = (data) => {
if (data.length) {
let html = '';
productList.innerHTML = ''
data.forEach(doc => {
const product = doc.data();
const li = `
<li id="${doc.id}">
<div class="collapsible-header grey lighten-4"> ${product.title} </div>
<div class="collapsible-header grey lighten-4"> ${doc.id} </div>
<div class="collapsible-body white"> ${product.content}
<a href="" class="secondary-content">
<a class="btn orange modal-trigger" >Get ID</a>
</a>
</li>
`;
html = li;
productList.innerHTML = html
document.getElementById(doc.id).onclick = () => {
// do firestore stuff here
// db.collection('activeWorks').doc(doc.id).set(your_data)
}
});
} else {
productList.innerHTML = '<h5 class="center-align">Login to view products</h5>';
}
};
Если я неправильно понял ваш вопрос, прошу прощения
Комментарии:
1. Спасибо за вашу помощь, если я попробую это сделать, всегда будет ошибка: «Uncaught TypeError: document.getElementById(…) равно нулю»