<template>
<input v-model="quantity"
type="number"
class="quantity"
min="1"
:max="form.max"
step="1"
@focusout="updateValue($event, 'quantity', form.max)"
>
</template>
<script>
import {mapActions, mapMutations, mapState} from "vuex";
export default {
data() {
return {
quantity: 1,
}
},
name: "Form",
props: {
form: {
type: Object,
default: () => {}
}
},
created() {
this.quantity = this.form.quantity;
},
mounted() {
this.quantity = this.form.quantity;
},
updated(){
if (!this.form.isChange){
this.quantity = this.form.quantity;
}
},
computed: {
...mapState("calc", ["product"]),
},
methods: {
...mapMutations("calc", ["removeFormProduct", "setIsChangePrice"]),
updateValue(event, field, maxValue) {
const value = Number.parseFloat(event.target.value);
if (value > maxValue) {
value = maxValue;
}
this.form.isChange=true;
this.$data[field] = value;
}
}
Структура form такая:
form = {
id: 1,
price: 500,
quantity: 1,
max: 2,
name: "UUO",
isChange: false,
};
По дебагу я вижу , что updated срабатывает перед updateMaxValue, и мне необходимо получить какое событие произошло в update.