¿Alguien sabe cómo implementar un campo de entrada VUE que rechace el ingreso de dígitos que no sean cuando el usuario intenta ingresarlo?
Alguna clase de:
<b-form-input v-on:keypress="onlyNumber(...."¡Gracias!
La forma más fácil sería declarar el tipo de entrada a número. <b-form-input type="number" ...
Finalmente, para mí, esto hace el trabajo:
<input v-on:keydown="onlyNumber($event)" ... /> onlyNumber: function(evt) { //0035621 evt = (evt) ? evt : window.event; var charCode = (evt.which) ? evt.which : evt.keyCode; if (charCode > 31 && (charCode != 46 &&(charCode < 48 || charCode > 57))) { evt.preventDefault(); } else { return true; } }Puede usar el código de tecla de la tecla presionada en el evento de pulsación de tecla y el comportamiento predeterminado de cada evento si el código de tecla no es para una tecla que no sea un dígito;
Componente de entrada Vue:
<b-form-input @keydown="onlyNumbers" />Y el método onlyNumbers sería:
onlyNumbers(e) { if((e.keyCode < 48 || e.keyCode > 57) && (e.keyCode < 96 || e.keyCode > 105)) { e.preventDefault(); }Enlaces relacionados: valores de keyCode para teclado numérico , preventDefault , Keydown Event