iView‐Radio Button - daniel-qa/Vue GitHub Wiki
-
Button style
<Radio-group v-model="button1" type="button">
<Radio label="北京"></Radio>
<Radio label="上海"></Radio>
<Radio label="深圳"></Radio>
<Radio label="杭州"></Radio>
</Radio-group>
- 未更新選取狀態
selectedSchoolId 可能型別不合: string / number
school.id = 1 // number
selectedSchoolId = '' // string
<Radio-group
v-model="selectedSchoolId"
type="button"
:key="'school-radio-' + selectedSchoolId"
>
<Radio
v-for="school in sharedFromSchoolsList"
:key="school.id"
:label="school.id"
>
{{ school.name }}
</Radio>
</Radio-group>
:key="'school-radio-' + selectedSchoolId"
這一行代表什麼?
每次 selectedSchoolId 改變,整個 Radio-group 都會被 Vue 當成「新元件」重建
這通常是為了:
強制重新渲染,解決「資料換了但 UI 沒更新」的問題
iView 的 有支援 type="button" 和 label,但 沒有直接提供 block 類型。 不過 裡的每個 都是行內元素,我們可以用 CSS 讓它變成 block。
- 每個 Radio 都變成獨立一行
<template>
<div>
<Radio-group v-model="selectedOption">
<Radio label="金斑蝶" disabled class="radio-block"></Radio>
<Radio label="爪哇犀牛" class="radio-block"></Radio>
<Radio label="印度黑羚" class="radio-block"></Radio>
</Radio-group>
<Radio v-model="disabledSingle" disabled class="radio-block">Radio</Radio>
</div>
</template>
<script>
export default {
data () {
return {
disabledSingle: true,
selectedOption: '爪哇犀牛'
}
}
}
</script>
<style>
.radio-block {
display: block;
margin-bottom: 6px; /* 可加可不加,看你爽度 */
}
</style>
-
Radio-group : 綁定整組選項的選取結果
-
v-model 綁定單選按鈕的值 (被選中 ⇒ true,沒選 ⇒ false)
< RadioGroup>,預設就是「只能選一個」的互斥選項組。