Firebase -使用变量作为属性获取字段



我试图从"doc.data"使用变量,问题是我想用不同的字段名重用该函数。

这是代码:

btnsEditvalue.forEach((btn) => {
btn.addEventListener("click", async (e) => {
try {
propToEdit = e.target.dataset.prop;
const doc = await getElement(e.target.dataset.id, col);
const element = doc.data();
console.log(element.propToEdit)
editElement.value = element.e.target.dataset.prop;
id = doc.id; 
} 
catch {
console.log("error");
}
});
});

输出未定义,因为"propToEdit"不是我的数据库中的字段。

您可以尝试使用括号符号来传递动态密钥,而不是使用点符号。

引用javascript对象属性访问器

const element = doc.data()
const ELEMENT_KEY: string = 'propToEdit'
console.log(element[ELEMENT_KEY])

您可以使用自定义名称动态访问字段

fieldName = "stringValue"
element[fieldName]

这完全取决于docdoc.data()的维护位置

您也可以将它包装成一个函数,这将返回值或null。您可以将null替换为您想要的任何其他默认值。

function getField(fieldName, doc){
return doc.data()[fieldName] || null;
}

相关内容

  • 没有找到相关文章

最新更新