Vue supports lazy binding to models with the lazy modifier, e.g.
<input v-model.lazy="value" />
Now the model isn't updated until the input loses focus. However, if I change the type to Number and use the arrow keys to set the value, the model updates while the input has focus:
<input type="number" v-model.lazy="value" />
Is there an (easy) way to delay binding until after focus is lost?
CodePudding user response:
v-model is synonymous for :value @change. Assuming the arrows on input trigger a focus event, you can try replacing v-model with :value and @blur pair. Might not work if .lazy modifier already does this.
<input type="number" :value="value" @blur="value = $event.target.value" />
Another alternative is to "debounce" the change event with a set time so the value doesn't update while the user is changing the value.
