優雅的防止用戶重複點擊某個按鈕

前言:想必前端小夥伴都遇到過一個問題:點擊某個按鈕時如果點擊的比較快,可能會觸發多次。如果查詢操作影響還不大,如果是提交操作,那就會有問題了。接下來爲大家介紹幾種防止重複點擊的小妙招。
基礎:給請求添加loading效果。這個是網站必備的裝逼特效,既能告訴用戶系統已經在幫用戶搞事情了,又可以防止用戶在此期間做其他操作。
進階(方法1): 使用防抖。

防抖: 在一定時間內,動作只會執行一次(大家可以使用loadsh的debounce方法,也可以自己寫)。舉個例子:我在網上買了很多東西,今天很多快遞都會到,時不時的就會有快遞小哥的電話,我不想來回去取快遞,就每隔1個小時取一次,如果1個小時內沒有快遞,就不下樓拿快遞了。

建議:第一次點擊立即執行,後面的點擊每隔一段時間執行一次。(debounce的leading設置爲true)

clipboard.png

進階(方法2):變量控制。 如果按鈕和事件處理在一個組件中,那麼我們可以使用變量來控制,以react爲例:

clipboard.png

建議使用防抖的方式,寫法簡單,可維護性高。

如果您還有其他比較好的方法,歡迎留言。

過幾天會寫防抖的文章,歡迎關注。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章