91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

使用Vue怎么實現一個驗證碼登錄功能

發布時間:2020-12-21 15:10:21 來源:億速云 閱讀:162 作者:Leah 欄目:開發技術

今天就跟大家聊聊有關使用Vue怎么實現一個驗證碼登錄功能,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。

  • html

<el-button @click="getCode()" :class="{'disabled-style':getCodeBtnDisable}" :disabled="getCodeBtnDisable">{{codeBtnWord}}</el-button>
  • 數據data

data() {
     return {
        loginForm: {
            phoneNumber: '',
            verificationCode: '',
        },
        codeBtnWord: '獲取驗證碼', // 獲取驗證碼按鈕文字
        waitTime:61, // 獲取驗證碼按鈕失效時間
    }
}
  • 計算屬性computed

computed: {
    // 用于校驗手機號碼格式是否正確
    phoneNumberStyle(){
        let reg = /^1[3456789]\d{9}$/
        if(!reg.test(this.loginForm.phoneNumber)){
            return false
        }
        return true
    },
    // 控制獲取驗證碼按鈕是否可點擊
    getCodeBtnDisable:{
        get(){
            if(this.waitTime == 61){
                if(this.loginForm.phoneNumber){
                    return false
                }
                return true
            }
            return true
        },
        // 注意:因為計算屬性本身沒有set方法,不支持在方法中進行修改,而下面我要進行這個操作,所以需要手動添加
        set(){} 
    }
}

關于上面給計算屬性添加set方法,可以參照//www.jb51.net/article/202496.htm

  •  css設置不可點擊時置灰

.el-button.disabled-style {
    background-color: #EEEEEE;
    color: #CCCCCC;
}
  • mothods中添加獲取驗證碼方法

getCode(){
    if(this.phoneNumberStyle){
        let params = {}
        params.phone = this.loginForm.phoneNumber
        // 調用獲取短信驗證碼接口
        axios.post('/sendMessage',params).then(res=>{
            res = res.data
            if(res.status==200) {
                this.$message({
                    message: '驗證碼已發送,請稍候...',
                    type: 'success',
                    center:true
                })
            }
        })
        // 因為下面用到了定時器,需要保存this指向
        let that = this
        that.waitTime--
        that.getCodeBtnDisable = true
        this.codeBtnWord = `${this.waitTime}s 后重新獲取`
        let timer = setInterval(function(){
            if(that.waitTime>1){
                that.waitTime--
                that.codeBtnWord = `${that.waitTime}s 后重新獲取`
            }else{
                clearInterval(timer)
                that.codeBtnWord = '獲取驗證碼'
                that.getCodeBtnDisable = false
                that.waitTime = 61
            }
        },1000)
    }
}

看完上述內容,你們對使用Vue怎么實現一個驗證碼登錄功能有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

福建省| 阿图什市| 岳普湖县| 延安市| 广灵县| 习水县| 健康| 藁城市| 濮阳县| 宜宾市| 丘北县| 拜城县| 葵青区| 秭归县| 宿州市| 镇原县| 剑川县| 河间市| 泉州市| 广安市| 五原县| 嘉善县| 连平县| 高青县| 明星| 二连浩特市| 华安县| 承德县| 秦皇岛市| 忻州市| 襄汾县| 涟源市| 台州市| 尉犁县| 静乐县| 山阳县| 都兰县| 衡阳县| 安仁县| 锡林浩特市| 黎城县|