vue中radio單選框單擊取消選中狀態

2021-10-06 03:37:00 字數 1023 閱讀 5620

2、單純的對input radio進行js控制行不通,因為radio是通過v-repeat出來的,有很多個,如果每乙個都去獲取元素的話,執行效率太低,failed

3、給radio新增click事件,判斷checked屬性,如果為true則取消checked,但由於radio每次click都會將自己的checked置為true(vue的資料雙向繫結速度也是很快的),資料賦值速度之快以至於每次click獲取到的checked值都為true,failed

4、當乙個radio從未選中到選中狀態,會先觸發click再觸發change事件,因此只要在click事件判斷當前radio是否觸發了change事件,如果沒觸發change事件說明當前radio是選中狀態,此時則把該radio的checked置為false,就可以實現單擊選中狀態的radio取消其選中狀態

5、以上第4點有乙個邏輯漏洞,因為click先觸發,change後觸發,那如何在click中判斷當前radio是否觸發了change呢?需要將click事件中的js判斷邏輯手動放到change觸發之後執行,則將click中的邏輯放在settimeout延遲0秒,手動將這段邏輯執行排在了change事件佇列的後面

賦上vue**如下:

//tempalta裡面的單選框

type=

"radio"

:value=

"qitem.optionvalue"

class

="radio float-left"

@change=

"retainrecord"

@click=

"controlsingel($event)"

/>

// data裡定義changed,

//methods

controlsingel

($event)

_this.changed =

false;}

,0);

},retainrecord()

HTML中的單選框 radio

在開始學習radio的用法的時候,覺得很簡單,但在用的時候,卻不知道怎麼進行單選,後來查了很長時間才明白其中的道理,其中,name的值是要相等的,這裡的值是什麼值都可以,只要相等就行 男 女在用的時候,也發現了另外乙個問題,就是在value沒有賦值的時候,也可以使用,於是查詢了下value,對於va...

關於小程式radio單選框單擊打勾再擊取消

前端使用input 來寫radio,小程式使用radio標籤 也可以使用單標籤 1.自定義radio樣式 wx預設的是真的醜 單選框樣式 初始樣式 radio wx radio input 選中後的 背景樣式 背景 邊框 radio wx radio input.wx radio input che...

Vue 單選框與單選框組 元件

v model 通過當然繫結的值與input上的value值來確定當前選中項。在父作用域中通過active設定當前預設選中項,如果選中項發生改變後通過input事件通知傳遞到父作用域,告知當前選中項.自定義元件 v model 資料雙向繫結 radio v model active label 1 ...