Tengo un campo de entrada y allí se puede ingresar la cantidad. Entonces, mi objetivo es que cuando el usuario haga clic fuera del campo de entrada, actualice el carrito.
<div v-for="item in cart.attributes.items" :key="item.id"> <div class="row"> <div class="col-lg-10 col-md-10 col-sm-10 col-xs-10 cart-items"> <strong>{{ item.product_name }}</strong> <br/> <div class="number-of-tickets"> <input id="cart_amount" type="number" min="1" class="col-1 form-control cart-input" v-model="item.amount"> <div> x € {{ item.price_excl_vat }}</div> </div> </div> <div class="col-lg-2 col-md-2 col-sm-2 col-xs-2"> <a class="remove" @click.prevent="removeProductFromCart(item.id)"><i class="far fa-trash-alt"></i></a> </div> </div> </div>Entonces, como puede ver aquí, hay un campo de entrada con el "importe del artículo" del modelo v. También esta es mi función para obtener datos:
updateCart(id, amount) { cartHelper.updateCart(id, amount, (response) => { this.$store.dispatch('updateProductsInCart', { cart: response.data, }) }); }Entonces, cada vez que hago clic en el exterior del campo de entrada, quiero representar la función updateCart con la cantidad de campo de entrada.
Lo que desea es actualizar el monto del carrito tan pronto como salga del campo.
Tienes el blur de evento html hecho solo para esto:
<input id="cart_amount" @blur="updateCart(/* right params */)" ...>El evento se activa tan pronto como la entrada pierde el foco.