Estoy tratando de crear algunos componibles en un proyecto vue para minimizar el código. Este componible está diseñado para actualizar/editar propiedades asociadas con documentos específicos dentro de una colección. Lo tengo funcionando al 80%, pero el último 20% es:
updateDocs.js Componible:
import { ref } from "vue"; //firebase imports import { db } from "../firebase/config"; import { doc, setDoc } from "firebase/firestore"; const updateWorks = () => { const error = ref(null); const updateWork = async (collection, targetID, property, updatedValue) => { try { console.log(collection, targetID, property, updatedValue); const docRef = doc(db, collection, targetID); console.log(docRef); await setDoc( docRef, { PROPERTY: updatedValue, <-even though I'm passing a property, it does not get picked up with the variable (question 1) }, { merge: true } ); } catch (err) { error.value = err.message; } }; return { updateDoc, error }; }; export default updateDocs;componente editDocForm.vue
<script> //import composables import updateDocs from "../../composables/updateDocs"; export default { name: "EditDocForm", setup() { const { updateDoc } = updateDocs(); const handleDocUpdate = async (doc) => { updateWork("collectionName", targetID, propertyToUpdate, newPropertyValue);