Tengo un campo de texto que contiene el valor de la fecha en formato (MM/DD/YYYY). Cada vez que escribo 01242022, debe formatearse automáticamente y mostrarse como 24/01/2022. Intenté de la siguiente manera donde el valor se muestra como se esperaba, pero lo quiero en tiempo real. Esto funciona cuando cambiamos el enfoque del elemento de entrada. Cualquier ayuda es apreciada. Gracias
Vue.filter("formatDate", function (value) { let dateValue = value; if (dateValue.length === 2 || dateValue.length === 5) { dateValue = value + "/"; } return dateValue; }); const app = new Vue({ el: "#app", data() { return { date: new Date(), }; }, computed: { dateVal: { get() { // eslint-disable-next-line no-extra-boolean-cast if (!!this.date) return moment(this.date, "MMDDYYYY").format("L"); return this.date; }, set(value) { this.date = moment(value, "MMDDYYYY").format("L");; }, }, }, methods: { onInput(e) { this.dateVal = this.$options.filters.formatDate(e.target.value); }, }, }); <script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script> <script src="https://momentjs.com/downloads/moment.min.js"></script> <div id="app"> <input type="text" v-model.lazy="dateVal" maxlength="10" /> </div>