問題:一般情況下按鈕的點擊事件往往無外乎發送ajax請求,接口調用,處理事件等等。當點擊一個按鈕時候,如果點擊的比較快,可能會觸發多次的請求,導致接口的無效調用,這時就需要對 按鈕點擊 進行控制。
解決:
//html層 <el-button :loading="saveLoading" type="primary" @click="handleClick">確定</el-button> //data層 isLoading:false, //按鈕點擊loading控制,默認為false //事件邏輯 methods: { handleClick() { //事件邏輯處理 this.ajaxRequest() //發送ajax請求 }, async ajaxRequest() { if(this.saveLoading) return //當接口請求沒響應之前,loading為true,此時通過該語句return掉不執行下面的操作,從而控制請求次數 this.saveLoading = true const [err, res] = await interface() //接口調用 this.saveLoading = false } }