# Radio 单选按钮

# 使用指南

Component({
  data: {
    radio1: '1',
    radio2: '1',
    radio3: '',
    radio4: '2',
    radio5: '2',
    radio6: '2',
    radio7: '2',
    radio8: '2',
  },

  onChange(event) {
    const { key } = event.currentTarget.dataset;
    this.setData({
      [key]: event.detail.value,
    });
  },

  onClick(event) {
    const { name } = event.currentTarget.dataset;
    this.setData({
      radio8: name,
    });
  },
});
<view class="container">
  基础
  <tms-radio-group data-key="radio1" value="{{ radio1 }}" bind:on-change="onChange">
    <tms-radio name="1">单选框 1</tms-radio>
    <tms-radio name="2">单选框 2</tms-radio>
  </tms-radio-group>

  禁止所有
  <tms-radio-group data-key="radio2" disabled value="{{ radio2 }}" bind:on-change="onChange">
    <tms-radio name="1">单选框 1</tms-radio>
    <tms-radio name="2">单选框 2</tms-radio>
  </tms-radio-group>

  禁止单个
  <tms-radio-group data-key="radio3" value="{{ radio2 }}" bind:on-change="onChange">
    <tms-radio name="1" disabled>单选框 1</tms-radio>
    <tms-radio name="2">单选框 2</tms-radio>
  </tms-radio-group>

  size 变化
  <tms-radio-group data-key="radio5" value="{{ radio5 }}" bind:on-change="onChange">
    <tms-radio name="1" icon-size="34">单选框 1</tms-radio>
    <tms-radio name="2" icon-size="34">单选框 2</tms-radio>
  </tms-radio-group>


  排版变化
  <tms-radio-group data-key="radio6" value="{{ radio6 }}" bind:on-change="onChange" direction="row">
    <tms-radio name="1">单选框 1</tms-radio>
    <tms-radio name="2">单选框 2</tms-radio>
  </tms-radio-group>
</view>

# API

属性 说明 类型 可选值 默认值
use-icon-slot 是否使用 icon 插槽 Boolean false
icon-size 图标大小,默认单位为rpx String,Number 28rpx
checked-icon 勾选状态图标,支持内置icon和外链 String radio-active
uncheck-icon 未勾选状态图标,支持内置icon和外链 String radio
value 当前选中项的标识符 String, Number
disabled 是否为禁用状态 Boolean false
name 标识符 any

# EVENTS

事件名 说明 参数
bind:on-change 当绑定值变化时触发的事件 — 当前值

# 插槽

插槽名称 说明
自定义文本
icon 自定义图标

# RadioGroup 属性

属性 说明 类型 可选值 默认值
value 当前选中项的标识符 any
disabled 是否禁用所有单选框 Boolean false
name 在表单内提交时的标识符 String
direction 选项排版方向 column, row column

# CSS变量

// 字体大小
--radio-label-size: 26rpx;
// 文本颜色
--radio-label-color: #333;
// 勾选状态文本颜色
--radio-label-checked-color: #333;