做審批流的時候,遇到一個前端可以添加審批步驟的功能,在按鈕上連續點擊兩次會發生添加兩個相同步驟的情況,
試過用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);
}