elementui彈窗頁按鈕重復提交問題解決方法
一、BUG場景
ruoyi平臺,頁面彈出窗有提交按鈕,在提交時連續(xù)多次點擊會發(fā)生重復提交。
二、錯誤方案
給按鈕增加 :loading="submitLoading" 屬性。
<el-dialog :title="title" :v-if="open" :visible.sync="open" @close="cancel" > <el-button type="primary" :loading="submitLoading" @click="submitForm">提交</el-button> </el-dialog> data() { return{ open: false, submitLoading: false, } }, methods: { cancel() { this.open = false; this.submitLoading = false; }, /** 提交按鈕 */ submitForm() { ...... this.submitLoading = true; this.api.add(formData).then(response => { ..... this.cancel(); }); } }
驗證后發(fā)現(xiàn)并沒有解決重復提交問題。
查詢資料發(fā)現(xiàn):el-dialog的關閉不是瞬間發(fā)生,是關閉動畫,是動畫,真是活久見了。側面證明自己菜。
三、正確方案
給按鈕增加 :loading="submitLoading||!open" 屬性。
上面代碼中只需要修改loading這一處就行了。
<el-dialog :title="title" :v-if="open" :visible.sync="open" @close="cancel" > <el-button type="primary" :loading="submitLoading||!open" @click="submitForm">提交</el-button> </el-dialog> data() { return{ open: false, submitLoading: false, } }, methods: { cancel() { this.open = false; this.submitLoading = false; }, /** 提交按鈕 */ submitForm() { ...... this.submitLoading = true; this.api.add(formData).then(response => { ..... this.cancel(); }); } }
按鈕邏輯
行為 | 按鈕submitLoading | 彈窗open | 按鈕狀態(tài) |
打開彈窗前 | false | false | 禁用 |
打開彈窗后 | false | true | 可用 |
數(shù)據(jù)請求前 | true | true | 禁用 |
請求結束&關閉彈窗 | false | false | 禁用 |
到此這篇關于elementui彈窗頁按鈕重復提交問題解決方法的文章就介紹到這了,更多相關element彈窗頁按鈕重復提交內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
vue2.0 如何把子組件的數(shù)據(jù)傳給父組件(推薦)
這篇文章主要介紹了vue2.0 如何把子組件的數(shù)據(jù)傳給父組件,需要的朋友可以參考下2018-01-01vue項目打包解決靜態(tài)資源無法加載和路由加載無效(404)問題
這篇文章主要介紹了vue項目打包,解決靜態(tài)資源無法加載和路由加載無效(404)問題,靜態(tài)資源無法使用,那就說明項目打包后,圖片和其他靜態(tài)資源文件相對路徑不對,本文給大家介紹的非常詳細,需要的朋友跟隨小編一起看看吧2023-10-10vue中el-date-picker type=daterange日期清空時不回顯的解決
這篇文章主要介紹了vue中el-date-picker type=daterange日期清空時不回顯的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-07-07vue?element-plus圖片預覽實現(xiàn)方法
這篇文章主要給大家介紹了關于vue?element-plus圖片預覽實現(xiàn)的相關資料,最近的項目中有圖片預覽的場景,也是踩了一些坑,在這里總結一下,需要的朋友可以參考下2023-07-07vue3.2最新語法使用socket.io實現(xiàn)即時通訊詳解
這篇文章主要為大家介紹了vue3.2最新語法使用socket.io實現(xiàn)即時通訊詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-06-06