Как запретить ввод отрицательных чисел?

Как запретить ввод отрицательных чисел? Есть поле input, в него выводится количество позиций товара, есть + и -, которые увеличивают это число или уменьшают. Но можно и ввести число и оно не должно быть отрицательным.
span(@click="product.quantity = Math.max(0, product.quantity - 1)" class="minus") &#8722
input(v-model.number="product.quantity" style="display: inline-block")
span(@click="product.quantity++" class="plus") &#43
  • Вопрос задан
  • 4769 просмотров
Решения вопроса 1
0xD34F
@0xD34F Куратор тега Vue.js
@input="onInput($event, product)"

methods: {
  onInput(e, product) {
    product.quantity = Math.max(0, parseInt(e.target.value) || 0);
  },
},

или

watch: {
  products: {
    deep: true,
    handler() {
      this.products.forEach(n => n.quantity = Math.max(0, parseInt(n.quantity) || 0));
    },
  },
},
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
solotony
@solotony
покоряю пик Балмера
а сделать инпут тайп = намбер ? и поставить мин и макс ?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы