vue 입력 상자 자동 점프 기능 실현
<template>
<div class="inputClass">
<div v-for="(item,index) in list" :key="index">
<input v-model="item.value" type="password" class="inputBorder" @keyup="jumpNext($event,index,item.value)"
@keydown="replaceValue(index)">
</div>
</div>
</template>
JS:
jumpNext(event, index, val) {
if (!/[0-9]/.test(val)) {
this.list[index].value = "";
this.$message({
type: 'warning',
message: ' '
})
return
}
let flag = document.getElementsByClassName("inputBorder"),
currInput = flag[index],
nextInput = flag[index + 1],
lastInput = flag[index - 1];
if (event.keyCode != 8) {
if (index < (this.list.length - 1)) {
nextInput.focus();
} else {
currInput.blur();
}
} else {
if (index != 0) {
lastInput.focus();
}
}
if (index == 0) {
this.num1 = event.key + ''
} else if (index == 1) {
this.num2 = event.key + ''
} else if (index == 2) {
this.num3 = event.key + ''
} else if (index == 3) {
this.num4 = event.key + ''
} else if (index == 4) {
this.num5 = event.key + ''
} else if (index == 5) {
this.num6 = event.key + ''
}
let str = this.num1 + this.num2 + this.num3 + this.num4 + this.num5 + this.num6
if (str.length == 6) {
let params = str
setUpSVIP(params).then(res => {
// this.superVipVisible = false
}).catch(err => {
// this.superVipVisible = false
this.$message({
type: 'error',
message: ' VIP '
})
})
}
},
/* */
replaceValue(index) {
this.list[index].value = "";
}
CSS:
.inputBorder {
background: #ffffff;
width: 50px;
font-size: 50px;
height: 50px;
margin-left: 0px;
margin-right: 0px;
text-align: center;
border: 1px solid #706969;
}
.inputClass {
margin-top: 31px;
display: flex;
justify-content: center;
}
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Fastapi websocket 및 vue 3(Composition API)1부: FastAPI virtualenv 만들기(선택 사항) FastAPI 및 필요한 모든 것을 다음과 같이 설치하십시오. 생성main.py 파일 및 실행 - 브라우저에서 이 링크 열기http://127.0.0.1:...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.