유 니 앱 인증 코드 카운트다운 기능 구현
실현 적 효과
페이지 부분 은 세 개의 연산 이 고 codeTime 은 카운트다운 시간 입 니 다.
<template>
<view>
<view class="three">
<view class="get" @tap="getCheckNum()">
<text>{{!codeTime?' ':codeTime+'s'}}</text>
</view>
<view class="all">
<view class="left"> </view>
<input v-model="mydata.checkNum" placeholder=" "/>
</view>
<button class="btn" @tap='sure'> </button>
</view>
</view>
</template>
구체 적 인 사고:세 가지 연산 은 codeTime 의 값 을 판단 하고 0 일 때 문자'인증 코드 가 져 오기'를 표시 하 며 0 이상 일 때 인증 코드 의 카운트다운 을 표시 합 니 다.codeTime 은 기본적으로 0 입 니 다.
여기 서 문 제 는 사용자 가 카운트다운 이 끝나 지 않 았 을 때 계속 클릭 하 는 것 을 어떻게 막 느 냐 하 는 것 이다.
해결 방법 은 codeTime 이 60 이상 일 때 팝 업 창 은 사용자 에 게 인증 코드 를 중복 으로 가 져 올 수 없다 는 판단 을 쓰 는 것 입 니 다.카운트다운 이 끝 난 후에 카운트다운 을 지 워 야 합 니 다.
코드:
<script>
export default {
data() {
return {
codeTime:0,
}
},
methods: {
getCheckNum(){
if(this.codeTime>0){
uni.showToast({
title: ' ',
icon:"none"
});
return;
}else{
this.codeTime = 60
let timer = setInterval(()=>{
this.codeTime--;
if(this.codeTime<1){
clearInterval(timer);
this.codeTime = 0
}
},1000)
}
}
}
}
css 스타일:
.all{
margin: 30rpx;
border-bottom: 2rpx solid #EEEEEE;
display: flex;
flex-wrap: nowrap;
}
.left{
margin-bottom: 30rpx;
margin-right: 40rpx;
width: 150rpx;
}
.three{
background-color: white;
width: 92%;
border-radius: 10rpx;
padding: 20rpx 0;
margin: 20rpx auto;
position: relative;
}
.btn{
background-color: orange;
font-size: 28rpx;
width: 160rpx;
height: 70rpx;
line-height: 70rpx;
margin-top: 40rpx;
color: white;
font-weight: 600;
}
.get{
position: absolute;
top: 40rpx;
right: 30rpx;
background-color: orange;
height: 70rpx;
line-height: 70rpx;
color: white;
border-radius: 10rpx;
padding: 0 20rpx;
}
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
유니앱 슬라이딩 옵션 실현본고의 실례는 여러분에게 유니앱이 슬라이딩 옵션 카드를 실현하는 구체적인 코드를 공유하여 참고하도록 하였으며, 구체적인 내용은 다음과 같다. tabControl-tag.vue 페이지 참조 1. 사용법: scrollF...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.