CheckButtonGroup 复选按钮组

示例

尺寸

可选的 ui 属性值:s / m

Normal size

Checked: -

Small size

Checked: -

<template>
<article>
  <section>
    <h4>Normal size</h4>
    <veui-check-button-group
      v-model="selected"
      :items="licenses"
    />
    <p>Checked: {{ readable }}</p>
  </section>
  <section>
    <h4>Small size</h4>
    <veui-check-button-group
      v-model="selected"
      ui="s"
      :items="licenses"
    />
    <p>Checked: {{ readable }}</p>
  </section>
</article>
</template>

<script>
import { CheckButtonGroup } from 'veui'

export default {
  components: {
    'veui-check-button-group': CheckButtonGroup
  },
  data () {
    return {
      selected: null,
      licenses: [
        {
          label: 'MIT License',
          value: 'mit'
        },
        {
          label: 'BSD License',
          value: 'bsd'
        },
        {
          label: 'Apache License 2.0',
          value: 'apache2'
        }
      ]
    }
  },
  computed: {
    readable () {
      return (this.selected || []).join(', ') || '-'
    }
  }
}
</script>

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

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

单复选共存

可以使用 exclusive 选项与 empty-value 实现一些单复选共存的场景。

Select size

Checked: any

<template>
<article>
  <section>
    <h4>Select size</h4>
    <veui-check-button-group
      v-model="selected"
      :items="licenses"
      empty-value="any"
    />
    <p>Checked: {{ readable }}</p>
  </section>
</article>
</template>

<script>
import { CheckButtonGroup } from 'veui'

export default {
  components: {
    'veui-check-button-group': CheckButtonGroup
  },
  data () {
    return {
      selected: ['any'],
      licenses: [
        {
          label: 'Any',
          value: 'any',
          exclusive: true
        },
        {
          label: 'Small',
          value: 'sm'
        },
        {
          label: 'Medium',
          value: 'md'
        },
        {
          label: 'Large',
          value: 'lg'
        }
      ]
    }
  },
  computed: {
    readable () {
      return (this.selected || []).join(', ') || '-'
    }
  }
}
</script>

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

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

API

属性

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

预设样式。

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

复选按钮组数据源,项目类型为 {label, value, disabled, exclusive, ...}

名称类型描述
labelstring选项的文字说明。
value*选项对应的值。
disabledboolean=选项是否为禁用。
exclusiveboolean=选项是否为排它项。当选项为排它项时,选中该项将取消选中其它所有选项。
valueArray[]

v-model

items 中已选项的 value 列表。

disabledboolean=false是否为禁用状态。
readonlyboolean=false是否为只读状态。
empty-value*-当取消所有选择时组件需要默认选中的值,通常用于存在 exclusive 选项的场景。

插槽

名称描述
item

按钮内文本区域。

默认内容:label 属性值。

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

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

事件

名称描述
change

v-model

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

图标

名称描述
check已选标志。