RadioGroup 单选框组

示例

尺寸

可选的 ui 属性值:s / m

Normal size

Checked: -

Small size

Checked: -

在 GitHub 上编辑此页编辑
<template>
<article>
  <section>
    <h4>Normal size</h4>
    <veui-radio-group
      v-model="flavor"
      :items="flavors"
    />
    <p>Checked: {{ readable }}</p>
  </section>
  <section>
    <h4>Small size</h4>
    <veui-radio-group
      v-model="flavor"
      ui="s"
      :items="flavors"
    />
    <p>Checked: {{ readable }}</p>
  </section>
</article>
</template>

<script>
import { RadioGroup } from 'veui'

export default {
  components: {
    'veui-radio-group': RadioGroup
  },
  data () {
    return {
      flavor: null,
      flavors: [
        { value: 'LATTE', label: 'Latte' },
        { value: 'MOCHA', label: 'Mocha' },
        { value: 'AMERICANO', label: 'Americano' }
      ]
    }
  },
  computed: {
    flavorLabelMap () {
      return this.flavors.reduce((map, { value, label }) => {
        map[value] = label
        return map
      }, {})
    },
    readable () {
      return this.flavorLabelMap[this.flavor] || '-'
    }
  }
}
</script>

<style lang="less" scoped>
section {
  margin-bottom: 20px;
}

h4 {
  margin-top: 0;
}
</style>

额外描述

在数据源的项目中设置 desc 字段或者通过 desc 插槽来指定额外描述。额外描述会在悬浮时显示。

在 GitHub 上编辑此页编辑
<template>
<article>
  <section>
    <veui-radio-group
      v-model="flavor"
      :items="flavors"
    />
  </section>
  <section>
    <veui-radio-group
      v-model="flavor"
      :items="flavors"
    >
      <template #desc="{ desc, label }">
        {{ desc || `a description for ${label}` }}
      </template>
    </veui-radio-group>
  </section>
</article>
</template>

<script>
import { RadioGroup } from 'veui'

export default {
  components: {
    'veui-radio-group': RadioGroup
  },
  data () {
    return {
      flavor: null,
      flavors: [
        { value: 'LATTE', label: 'Latte', desc: 'a description for latte.' },
        { value: 'MOCHA', label: 'Mocha', desc: 'a description for mocha.' },
        { value: 'AMERICANO', label: 'Americano' }
      ]
    }
  }
}
</script>

<style lang="less" scoped>
section {
  margin-bottom: 20px;
}

h4 {
  margin-top: 0;
}
</style>

API

属性

名称类型默认值描述
uistring=-

预设样式。

描述
s小尺寸样式。
m中尺寸样式。
itemsArray<Object>[]

单选框组数据源,项目类型为 { label, value, disabled, desc, ... }

名称类型描述
labelstring选项的文字说明。
value*选项对应的值。
disabledboolean=选项是否为禁用。
descstring选项的额外描述信息。
value*-

v-model

items 中已选项的 value

disabledboolean=false是否为禁用状态。
readonlyboolean=false是否为只读状态。

插槽

名称描述
item

选项描述文本区域。

默认内容:label 属性值。

名称类型描述
labelstring选项文本。
value*选项值。
indexnumber选项在 items 中的序号。
disabledboolean=选项是否禁用。

另外,items 内数据项中除了上面描述的字段之外的其它字段也会自动通过 v-bind 进行绑定到作用域参数上。

desc按钮的额外描述信息,作用域参数同 item 插槽。

事件

名称描述
change

v-model

选中状态变化后触发,回调参数为 (value: *)value 为当前按钮组已选项内 value 字段的值。

在 GitHub 上编辑此页编辑