Muestro v-switch usando un bucle v-for
<tr v-for="product in products" :key="product.id"> <td>{{ product.name }}</td> <td> <v-switch :input-value="product.currentUserTracking" dense inset @change="trackingStateChanged" ></v-switch> </td> </tr> Cada vez que cambia el estado de cualquiera de los v-switch , quiero saber la id del producto correspondiente y el nuevo valor. Intenté los siguientes enfoques
1er enfoque
@change="trackingStateChanged" trackingStateChanged(event) { console.log(event) //event contains the new value(true/false) },segundo enfoque
@change="trackingStateChanged(event, product.id)" trackingStateChanged(event, productId) { console.log(event) //event is undefined console.log(productId) //productId is available eg pr345665 }, No puedo obtener tanto product.id como el new value con ninguno de los dos enfoques. Cualquier idea de cómo se puede lograr esto.
Gracias por adelantado
Use $event en lugar de event en @change . Puede obtener el valor usando estos:
@change="trackingStateChanged($event, product.id) trackingStateChanged(event, productId) { console.log(event); console.log(productId); },Del sitio web vue.js :
A veces, también necesitamos acceder al evento DOM original en un controlador de declaraciones en línea. Puede pasarlo a un método utilizando la variable especial $event.