Tengo un selector de fecha y hora a continuación. Cuando el componente se monta inicialmente, se activa el método changeDate .
Eliminé cualquier otra referencia a este método, por lo que definitivamente está siendo causado por el código a continuación.
¿Alguien sabe lo que está pasando aquí? No hay entrada del usuario, por lo que esto no debería activarse.
¿No se puede usar el atributo v-model junto con v-on:input?
<datetime ref="datimepicker" v-model="meeting.due_date" v-on:input="changeDate(meeting.due_date)" />He reproducido el problema aquí: https://codepen.io/s89_/pen/QWOrzbv
En una inspección más detallada, parece ser un problema real con el paquete que parece que ya no se mantiene: https://github.com/mariomka/vue-datetime/issues/272
Supongo que una posible forma de evitar esto es simplemente colocar un observador en el valor del modelo v y emitir el evento changeDate desde allí.
Puede ver en el código fuente que para Datetime.vue
created () { this.emitInput() }, Llama a emitInput
emitInput () { let datetime = this.datetime ? this.datetime.setZone(this.valueZone) : null if (datetime && this.type === 'date') { datetime = startOfDay(datetime) } this.$emit('input', datetime ? datetime.toISO() : '') }, Si quiere evitar esto, verificaría que el valor pasado del evento no sea igual a lo que es meeting.due_date actualmente.
Podrías hacer algo como esto .