vue 按鈕防止重復點擊的方法


做審批流的時候,遇到一個前端可以添加審批步驟的功能,在按鈕上連續點擊兩次會發生添加兩個相同步驟的情況,
試過用element的Loading 與 disabled 都不行,遂從網上找解決方案,發現有的需要在vue 添加公共方法綁定到按鈕上,但我的項目可能用到的地方很少,所以在單個組件里面使用就可以了,
廢話不多說,直接貼解決方案
還是使用disabled,之前不生效的原因是
我在方法頭寫了 disabled = ture 方法尾寫了 disabled = false ,中間沒有任何等待,所以,按鈕還是可以直接點擊兩次。
加個settimeout方法即可

<el-button :disabled="stepLoading" type="primary" @click="addFlowNode()">確 定</el-button>
addFlowNode(){
      this.stepLoading = true;
      this.$message({
        message: '添加步驟成功',
        type: 'success',
      });
      this.dialogAddShenpi = false;
      setTimeout(() => {
        this.stepLoading = false;
      }, 1000);
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM