RadioButtonGroup

Demos

Size variants

Available values for the ui prop: alt/large/small/tiny/micro/square.

Normal size

Selected: -

Small size & Square shape

<template>
<article>
  <section>
    <h4>Normal size</h4>
    <veui-radio-button-group
      v-model="flavor"
      :items="flavors"
    />
    <p>Selected: {{ readable }}</p>
  </section>
  <section>
    <h4>Small size &amp; Square shape</h4>
    <veui-radio-button-group
      ui="small square"
      :items="actions"
    >
      <veui-icon
        slot-scope="{ value, label }"
        :name="value"
        :label="label"
      />
    </veui-radio-button-group>
  </section>
</article>
</template>

<script>
import { RadioButtonGroup, Icon } from 'veui'
import 'veui-theme-one/icons/pause'
import 'veui-theme-one/icons/play'

export default {
  components: {
    'veui-radio-button-group': RadioButtonGroup,
    'veui-icon': Icon
  },
  data () {
    return {
      flavor: null,
      flavors: [
        { value: 'LATTE', label: 'Latte' },
        { value: 'MOCHA', label: 'Mocha' },
        { value: 'AMERICANO', label: 'Americano' }
      ],
      actions: [
        {
          label: '暂停',
          value: 'pause'
        },
        {
          label: '播放',
          value: 'play'
        }
      ]
    }
  },
  computed: {
    flavorLabelMap () {
      return this.flavors.reduce((map, { value, label }) => {
        map[value] = label
        return map
      }, {})
    },
    readable () {
      return this.flavorLabelMap[this.flavor] || '-'
    }
  }
}
</script>

API

Props

NameTypeDefaultDescription
uistring-

Style variants.

ValueDescription
altAlternative style.
largeLarge size.
smallSmall size.
tinyTiny size.
microMicro size.
squareSquare button.
itemsArray<Object>[]

The datasource of items with the item type being {label, value, disabled, ...}.

NameTypeDescription
labelstringThe descriptive label of the item.
value*The value of the item.
disabledboolean=Whether the item is disabled.
value*-

v-model

The values of the selected items.

disabledbooleanfalseWhether the radio button group is disabled.
readonlybooleanfalseWhether the radio button group is read-only.

Slots

NameDescription
default

The label content of each button. Displays the value of the label prop by default.

NameTypeDescription
labelstringThe descriptive label of the item.
value*The value of the item.
indexnumberThe index of the item within items.
disabledboolean=Whether the item is disabled.

Additionally, custom properties apart from the listed ones will also be passes into the scope object via v-bind.

Events

NameDescription
change

v-model

Triggers when the selected item changed. The callback parameter list is (value: *) and value is the value of the selected item.