小程序的switch開關組件,總結下大概有三種使用場景。
其一: 純展示場景, 用來展示某個開關值是打開還是關閉的,這個場景比較簡單,給個disabled屬性就ok了;
其二: 用戶點擊后立即切換開關值。
以上兩種場景都是比較常規的使用場景,下面說下第三種場景
當用戶點擊后不能立即切換開關狀態,需要先執行一些檢查,最后判斷是否需要切換開關狀態。
此種場景下不能簡單的使用switch組件,實現思路如下:
將switch組件包裹到view組件內部; switch組件設置為disabled, 不監聽change事件,給switch的checked屬性傳遞一個變量值。當用戶點擊switch時觸發的view組件的click事件,在click事件里做一些處理,最后判斷是否需要改變開關狀態,如果需要改變則設置調用setData設置傳給switch組件checked屬性的變量值。