Я работаю над проектом vue, и это исправление небольшой ошибки. Но это меня так усложняет.
Я сделал v-текстовое поле, в которое вводятся только числа, и, похоже, оно работает хорошо.
<v-text-field type="number">
И я хочу ввести только число, поэтому я использую событие keydown для использования preventDefault.
<v-text-field type="number" @keydown="testKeydown">
testKeydown(event) {
if(event.key !== "1" && ... && event.key !== "Delete" && event.key !== "Backspace") {
console.log("Wrong Input!!!");
event.preventDefault();
}
}
Этот код может предотвратить ввод экспоненциального значения 'e', 'E' и '+', '.'.
Но он может не мешает корейскому языку (возможно, CJK), например, «ㅁ». (Когда я ввожу корейский язык, event.key возвращает «Процесс») и «Ввод неверный !!!» регистрируется моя Chrome консоль.
Кроме того, значение v-text-field, отображаемое на экране, равно «123 ㅁ», но значение event.target.value, взятого с console.log (event ) равно "".
Я хочу запретить ввод корейских символов (или CJK) или немедленно удалить их, даже если они вводятся без удаления 'type = "number"'.
Что я могу для этого сделать?