Чтобы input с типом color корректно работал с директивой v-model во Vue.js, необходимо использовать модификатор v-model.lazy.
Вот пример, демонстрирующий это:
<template> <div> <input type="color" v-model.lazy="color" > <p>Выбранный цвет: {{ color }}</p> </div> </template> <script> export default { data() { return { color: '' } } } </script>
При обычном использовании директивы v-model, значение input будет обновляться сразу же при каждом изменении значения цвета, что приведет к нежелательному поведению. С модификатором lazy, изменение значения цвета будет откладываться до тех пор, пока пользователь не закончит выбирать цвет, а затем будет обновляться в свойстве "color".
Таким образом, при использовании v-model.lazy с input типа color, вы получите корректное и ожидаемое поведение обновления значений.