[英]Allow only one radio button to be true (get value from each item.value)
我想解決以下問題:
我得到了這樣的數據結構:
{
"options": [
{
"id": 1,
"title": "Car",
"value": true
},
{
"id": 2,
"title": "Bike",
"value": false
},
{
"id": 3,
"title": "Bus",
"value": false
}
]
}
現在我想為每個選項顯示一個單選按鈕:
<input v-for="(option,index) in options" type="radio" :key="index" :id="index" :value="true" v-model="option.value">
我可以單擊每個單選按鈕,並且每個option.value
都設置為true
。
這支筆顯示了問題: https : //codepen.io/spqrinc/pen/NZZbjZ
所有值都設置為true
,這對單選選擇沒有影響。
只允許一個單選按鈕為true
。 選擇Car
為true
,因為它是在初始數據上設置的。
現在我的問題:
我想我可以使用觀察者來觀察options
並觀察value
的變化並取消設置所有其他值。 但這是最好的選擇嗎?
這是基本的 HTML 單選按鈕,應該具有相同的名稱,並且一次只能選擇一個值。 檢查下面的例子...
<input name="my_options" v-for="(option,index) in options" type="radio" :key="index" :id="index" v-model="option.value">
謝謝你。 希望對某人有所幫助。
您需要通過為組中的所有按鈕分配相同名稱來定義單選按鈕組: https : //developer.mozilla.org/en-US/docs/Web/HTML/Element/input/radio#Defining_a_radio_group
我不在 Vue js 中編碼,但:value="true"
對我來說似乎是問題。嘗試用 :value="option.value" 替換它
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.