Vue: Eliminar atributo cuando v-model.number está vacío

Creado en 22 may. 2017  ·  4Comentarios  ·  Fuente: vuejs/vue

¿Qué problema resuelve esta función?

Resuelve un problema de patrón de diseño, que por supuesto se espera de un flujo MVM que incluye v-model.number que produce una cadena cuando está vacío.

Cuando ingreso un número y luego elimino el texto de la entrada, se convierte en una cadena en el objeto de datos reactivos.

Este es ciertamente un problema importante de usabilidad y conversión, y no veo el propósito de mantener un atributo de cadena vacío en el modelo. Debería empalmarse del modelo cuando esté vacío; al igual que crea nuevos atributos en la entrada de texto, debería ser al revés.

Este es ciertamente un problema de patrón de diseño que debe resolverse, no es necesario implementarlo en el nivel de la aplicación cada vez, es una pequeña solución que agregará mucho a VueJS2, ¡y estoy seguro de que muchos otros estarán de acuerdo conmigo en esto!

¿Cómo se ve la API propuesta?

Actualmente cuando la entrada está vacía

v-model.number = "model.number"
modelo = {
número: ""
}

Qué debe hacer cuando la entrada está vacía

v-model.number = "model.number"
modelo = {
}

Comentario más útil

@posva Después de comprender mejor la reactividad de Vue, devolver nulo definitivamente sería la mejor opción en lugar de devolver una cadena

Todos 4 comentarios

Supongo que el comportamiento actual es el esperado.
Debido a que v-model es solo azúcar sintáctica para v-bind:value y v-on:input , no parece crear una escena de que el controlador de eventos input elimine una propiedad de un objeto ( y tal vez romper la reactividad de esa propiedad).

Encontraré una solución alternativa, gracias :) 👍

Como vio en el # 4742, es el comportamiento esperado. la razón es permitir que el usuario sepa cuándo no se proporciona ningún valor en la entrada . De lo contrario, el usuario podría ingresar un 0 y también una entrada vacía

@posva Después de comprender mejor la reactividad de Vue, devolver nulo definitivamente sería la mejor opción en lugar de devolver una cadena

¿Fue útil esta página
0 / 5 - 0 calificaciones