javascript - 如何获取单击文档的 ID 并获取标题并将其使用/保存在 Firestore 中?
问题描述
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>';
}
};
我的想法是,我想通过单击文档来获取 ID,然后product.title
在db.collection('activeWorks').doc(doc.id or product.id (I don't know what's right...)).set
. 我不知道该怎么做,请帮忙
解决方案
也许做这样的事情:将id
每个元素的标签设置<li>
为 Firestore 中的 doc id,然后附加一个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>';
}
};
如果我误解了你的问题我很抱歉
推荐阅读
- geometry - 如何使用 pyomo 对圆形包装问题进行建模?
- python-3.x - python3 bot的问题:ValueError:int()的无效文字,基数为10:''
- python - Python数据操作:如何按ID分组,然后根据每个组中的数据时间条件将行向前/向后1个月?
- express - FeathersJS express.rest api 问题
- django - 为什么 python manage.py runserver 不起作用?
- javascript - 如何让动画制作得越来越快?
- java - 当我创建事件时,实现 ApplicationListener 接口的类没有启动
- javascript - 角度的循环误差
- swift - 在选项卡之间切换时如何创建交叉溶解动画
- node.js - 如何在 node.js 中显示警报消息