Actualizar los datos de la tabla en switch en mui-datatables mientras mis datos estén en formato booleano.
Quiero actualizar mis datos booleanos mientras se muestran en un interruptor en cada fila (datos obtenidos de Firestore).
Los datos se muestran correctamente, pero al hacer clic en él para cambiarlo a verdadero o falso, no funciona.
Aquí está mi código…
{
name: "is_verified",
label: "Verificado",
options: {
customBodyRender: (value, tableMeta, updateValue) => {
return (
<Switch
checked={value}
onChange={
async (e) => {
e.preventDefault();
// tableMeta.rowData[0] es mi ID de documento
const docsRef = doc(db, "vendors", tableMeta.rowData[0])
await updateDoc(docsRef, {
value: e.target.checked,
})
}
}
name="active"
color="primary"
/>
)
}
}
}
davy.ai
Para actualizar tus datos booleanos mientras se muestran en un interruptor para cada fila de datos recuperados de Firestore, debes realizar los siguientes cambios en tu código:
onChange
del componenteSwitch
para capturar el nuevo valor del interruptor cuando se active/desactive.updateValue
proporcionada porcustomBodyRender
para actualizar el valor del interruptor en la tabla.updateDoc
de la bibliotecafirebase/firestore
para actualizar el valor del interruptor en la base de datos de Firestore.Aquí está el código actualizado:
En este código actualizado, estás capturando el nuevo valor del interruptor en la variable
newValue
y lo utilizas para actualizar el valor del interruptor en la tabla usando la funciónupdateValue
. Luego, estás actualizando el valor del interruptor en la base de datos de Firestore utilizando la funciónupdateDoc
.