Skip to content

Radio ​

Radio. Mainly used for single selection from a group of options, or used individually to toggle a selected state.

Basic Usage ​

false
<template>
  <b-radio v-model="single">Radio</b-radio>
  <span style="color: #ff4511">{{ single }}</span>
</template>

<script setup lang="ts">
import { ref } from 'vue'
const single = ref(false)
</script>

Combo Usage ​

facebook

Apple

<template>
  <div>
    <b-radio-group v-model="social">
      <b-radio label="twitter">
        <span>Twitter</span>
      </b-radio>
      <b-radio label="facebook">
        <span>Facebook</span>
      </b-radio>
      <b-radio label="github">
        <span>Github</span>
      </b-radio>
      <b-radio label="snapchat">
        <span>Snapchat</span>
      </b-radio>
    </b-radio-group>
    <p style="color: #ff4511; margin: 5px 0">{{ social }}</p>
    <b-radio-group v-model="fruit">
      <b-radio label="Banana"></b-radio>
      <b-radio label="Apple"></b-radio>
      <b-radio label="Watermelon"></b-radio>
    </b-radio-group>
    <p style="color: #ff4511; margin: 5px 0">{{ fruit }}</p>
  </div>
</template>

<script setup lang="ts">
import { ref } from 'vue'
const social = ref('facebook')
const fruit = ref('Apple')
</script>

Disabled State ​

Set disabled to disable the radio group or a single radio option

<template>
  <div>
    <b-radio v-model="disabledSingle" disabled>Checkbox</b-radio>
    <b-radio-group v-model="disabledGroup">
      <b-radio label="Banana" disabled></b-radio>
      <b-radio label="Apple" disabled></b-radio>
      <b-radio label="Watermelon"></b-radio>
    </b-radio-group>
  </div>
</template>

<script setup lang="ts">
import { ref } from 'vue'
const disabledSingle = ref(true)
const disabledGroup = ref('Apple')
</script>

buttonType ​

Set type="button" to render radio as button type


<template>
  <div flex>
    <div>
      <b-radio-group v-model="fruit" type="button">
        <b-radio label="Banana"></b-radio>
        <b-radio label="Apple"></b-radio>
        <b-radio label="Watermelon"></b-radio>
      </b-radio-group>
      <div class="p10" />
      <b-radio-group v-model="fruit" type="button" size="small">
        <b-radio label="Banana"></b-radio>
        <b-radio label="Apple"></b-radio>
        <b-radio label="Watermelon"></b-radio>
      </b-radio-group>
      <div class="p10" />
      <b-radio-group v-model="fruit" type="button" size="mini">
        <b-radio label="Banana"></b-radio>
        <b-radio label="Apple"></b-radio>
        <b-radio label="Watermelon"></b-radio>
      </b-radio-group>
    </div>
    <div style="margin-left: 24px">
      <b-radio-group v-model="fruit" type="button">
        <b-radio label="Banana" disabled></b-radio>
        <b-radio label="Apple"></b-radio>
        <b-radio label="Watermelon"></b-radio>
      </b-radio-group>
      <br />
      <b-radio-group v-model="fruit" type="button" disabled>
        <b-radio label="Banana" disabled></b-radio>
        <b-radio label="Apple"></b-radio>
        <b-radio label="Watermelon"></b-radio>
      </b-radio-group>
    </div>
  </div>
</template>

<script setup lang="ts">
import { ref } from 'vue'
const fruit = ref('Apple')
</script>

Capsule Type ​

Set type="capsule" to render radio as capsule type

<template>
  <div flex>
    <div>
      <b-radio-group v-model="fruit" type="capsule">
        <b-radio label="Banana"></b-radio>
        <b-radio label="Apple"></b-radio>
        <b-radio label="Peach"></b-radio>
        <b-radio label="Watermelon"></b-radio>
      </b-radio-group>
      <div class="p10" />
      <b-radio-group v-model="fruit" type="capsule" size="small">
        <b-radio label="Banana"></b-radio>
        <b-radio label="Apple"></b-radio>
        <b-radio label="Peach"></b-radio>
        <b-radio label="Watermelon"></b-radio>
      </b-radio-group>
      <div class="p10" />
      <b-radio-group v-model="fruit" type="capsule" size="mini">
        <b-radio label="Banana"></b-radio>
        <b-radio label="Apple"></b-radio>
        <b-radio label="Peach"></b-radio>
        <b-radio label="Watermelon"></b-radio>
      </b-radio-group>
    </div>

    <div style="margin-left: 24px">
      <b-radio-group v-model="fruit" type="capsule">
        <b-radio label="Banana" disabled></b-radio>
        <b-radio label="Apple"></b-radio>
        <b-radio label="Peach"></b-radio>
        <b-radio label="Watermelon"></b-radio>
      </b-radio-group>
      <div class="p10" />
      <b-radio-group v-model="fruit" type="capsule" disabled>
        <b-radio label="Banana" disabled></b-radio>
        <b-radio label="Apple"></b-radio>
        <b-radio label="Peach"></b-radio>
        <b-radio label="Watermelon"></b-radio>
      </b-radio-group>
    </div>
  </div>
</template>

<script setup lang="ts">
import { ref } from 'vue'
const fruit = ref('Apple')
</script>

Props ​

ParameterDescriptionTypeOptionsDefault
valueOnly effective when used alone. Use v-model for two-way bindingBoolean—false
labelEffective when used in a group. Specifies the value of the current option; the group automatically determines whether it is selectedString/Number/Boolean——
disabledDisables the current itemBoolean—false

Radio events ​

Event NameDescriptionReturn Value
changeTriggers when option state changes, returns current status. Will not trigger when external data is modified...

RadioGroup props ​

ParameterDescriptionTypeOptionsDefault
valueSpecifies the set of selected items; use v-model for two-way bindingString/ Number—''
disabledDisables all optionsBoolean—false
typeEnable button modeStringbutton /capsule—
sizeSize of the radio group in button modeStringlarge、small、default—

RadioGroup events ​

Event NameDescriptionReturn Value
changeTriggers when option state changes, returns an array of selected items. Will not trigger when external data is modified...