Radio 单选框

用于在多个选项中进行单选的单选框组件

<script setup lang="ts">
import { ref } from 'vue'

const selected = ref('')
</script>

<template>
  <div class="p-4">
    <SkRadioGroup v-model="selected">
      <SkRadio value="option1">
        单选框
      </SkRadio>
    </SkRadioGroup>
  </div>
</template>

用法 (Radio)

Value 标识值

Prop类型默认值描述
valuestring-设置单选框标识,作为是否选中识别的值
<script setup lang="ts">
import { ref } from 'vue'

const selected = ref('option1')
</script>

<template>
  <div class="p-4">
    <SkRadioGroup v-model="selected">
      <SkRadio value="option1">
        九华山
      </SkRadio>
      <SkRadio value="option2">
        梵净山
      </SkRadio>
      <SkRadio value="option3">
        三清山
      </SkRadio>
    </SkRadioGroup>
  </div>
</template>

Label 标签

Prop类型默认值描述
labelstring-设置单选框标签文本
<script setup lang="ts">
import { ref } from 'vue'

const selected = ref('option1')
</script>

<template>
  <div class="p-4">
    <SkRadioGroup v-model="selected">
      <SkRadio value="option1" label="峨眉山" />
      <SkRadio value="option2" label="武当山" />
      <SkRadio value="option3" label="老君山" />
    </SkRadioGroup>
  </div>
</template>

Color 颜色

Prop类型默认值描述
color{Color}brand设置单选框的颜色主题
Color描述
brand品牌态颜色
success成功态颜色
warning警告态颜色
danger危险态颜色
neutral中性态颜色
<script setup lang="ts">
import { ref } from 'vue'

const selected = ref('')
</script>

<template>
  <div class="p-4">
    <SkRadioGroup v-model="selected">
      <SkRadio value="brand" label="品牌单选框" color="brand" />
      <SkRadio value="success" label="成功单选框" color="success" />
      <SkRadio value="warning" label="警告单选框" color="warning" />
      <SkRadio value="danger" label="危险单选框" color="danger" />
      <SkRadio value="neutral" label="中性单选框" color="neutral" />
    </SkRadioGroup>
  </div>
</template>

Size 尺寸

Prop类型默认值描述
size{Size}medium设置单选框的尺寸大小
Size描述
small小型
medium中型
large大型
<script setup lang="ts">
import { ref } from 'vue'

const selected = ref('small')
</script>

<template>
  <div class="p-4">
    <SkRadioGroup v-model="selected">
      <SkRadio label="小型单项框" value="small" size="small" />
      <SkRadio label="中型单项框" value="medium" size="medium" />
      <SkRadio label="大型单项框" value="large" size="large" />
    </SkRadioGroup>
  </div>
</template>

Disabled 禁用

Prop类型默认值描述
disabledbooleanfalse设置单选框是否为禁用状态
<script setup lang="ts">
import { ref } from 'vue'

const selected = ref('option2')
</script>

<template>
  <div class="p-4">
    <SkRadioGroup v-model="selected">
      <SkRadio value="option1" label="禁用未选" disabled />
      <SkRadio value="option2" label="禁用选中" disabled />
    </SkRadioGroup>
  </div>
</template>

用法 (RadioGroup)

Controlled 选中值

Prop类型默认值描述
v-modelstring-单选框组的选中值 (双向绑定)
<script setup lang="ts">
import { ref } from 'vue'

const selected = ref('option')
</script>

<template>
  <div class="p-4">
    <SkRadioGroup v-model="selected">
      <SkRadio value="option1" label="九寨沟" />
      <SkRadio value="option2" label="喀纳斯" />
    </SkRadioGroup>
  </div>
</template>

Color 整组颜色

Prop类型默认值描述
color继承 Radio Colorbrand设置整个复选框组的颜色主题,会被 Radio 的 color 继承/覆盖
<script setup lang="ts">
import { ref } from 'vue'

const selected = ref('')
</script>

<template>
  <div class="p-4">
    <SkRadioGroup v-model="selected" color="warning">
      <SkRadio value="option1" label="北岳恒山" />
      <SkRadio value="option2" label="西岳华山" />
      <SkRadio value="option3" label="中岳嵩山" />
      <SkRadio value="option4" label="东岳泰山" color="danger" />
      <SkRadio value="option5" label="南岳衡山" />
    </SkRadioGroup>
  </div>
</template>

Size 整组尺寸

Prop类型默认值描述
size继承 Radio Sizemedium设置整个单选框组的尺寸,会被 Radio 的 size 继承/覆盖
<script setup lang="ts">
import { ref } from 'vue'

const selected = ref('')
</script>

<template>
  <div class="p-4">
    <SkRadioGroup v-model="selected">
      <SkRadio value="option1" label="黄山" size="large" />
      <SkRadio value="option2" label="庐山" />
      <SkRadio value="option3" label="雁荡山" />
    </SkRadioGroup>
  </div>
</template>

Disabled 整组禁用

Prop类型默认值描述
disabledbooleanfalse设置是否禁用整个单选框组
<script setup lang="ts">
import { ref } from 'vue'

const selected = ref('option1')
</script>

<template>
  <div class="p-4">
    <SkRadioGroup v-model="selected" disabled>
      <SkRadio value="option1" label="黄山" />
      <SkRadio value="option2" label="庐山" />
      <SkRadio value="option3" label="雁荡山" />
    </SkRadioGroup>
  </div>
</template>

Direction 排列方向

Prop类型默认值描述
direction{Direction}vertical设置单选框的排列方向
Direction描述
vertical垂直
horizontal水平
<script setup lang="ts">
import { ref } from 'vue'

const selected = ref('')
</script>

<template>
  <div class="p-4">
    <SkRadioGroup v-model="selected" direction="horizontal">
      <SkRadio value="option1" label="黄山" />
      <SkRadio value="option2" label="庐山" />
      <SkRadio value="option3" label="雁荡山" />
    </SkRadioGroup>
  </div>
</template>

接口 (Radio)

Props

属性名类型默认值描述
valuestring-详见 Value 标识值
labelstring-详见 Label 标签
color{Color}'brand'详见 Color 颜色
size{Size}'medium'详见 Size 尺寸
disabledbooleanfalse详见 Disabled 禁用
claxWIP-用于拓展当前基础样式

Emits

事件名参数描述
click(event: any)当单选框被点击时触发

Slots

插槽名属性描述
default-单选框的标签内容

接口 (RadioGroup)

Props

属性名类型默认值描述
v-modelstring-详见 Controlled 选中值
color{Color}'brand'详见 Color 整组颜色,会被 Radio 组件继承或覆盖
size{Size}'medium'详见 Size 整组尺寸,会被 Radio 组件继承或覆盖
disabledbooleanfalse详见 Disabled 整组禁用,会被 Radio 组件继承或覆盖
direction{Direction}'vertical'详见 Direction 排列方向
claxWIP-用于拓展当前基础样式

Emits

事件名参数描述
change(value: string)当单选框组的选中值被改变时触发

Slots

插槽名属性描述
default-单选框列表

交互

正在完善中,敬请期待!😊