@td-design/react-native
Version:
react-native UI组件库
133 lines (113 loc) • 4.03 kB
Markdown
---
title: Radio - 单选框
nav:
title: RN 组件
path: /react-native
group:
title: 表单组件
path: /form
---
# Radio 单选框
## 效果演示
### 1. 默认效果
```tsx | pure
<Radio
options={[
{ label: 'Apple', value: 'Apple' },
{ label: 'Pear', value: 'Pear' },
{ label: 'Orange', value: 'Orange' },
]}
/>
```
<center>
<figure>
<img
src="https://td-dev-public.oss-cn-hangzhou.aliyuncs.com/maoyes-app/1643191517006751379.gif"
style="width: 375px; margin-right: 10px; border: 1px solid #ddd;"
/>
</figure>
</center>
### 2. 默认选中
```tsx | pure
<Radio
options={[
{ label: 'Apple', value: 'Apple' },
{ label: 'Pear', value: 'Pear' },
{ label: 'Orange', value: 'Orange' },
]}
defaultValue={'Pear'}
/>
```
<center>
<figure>
<img
src="https://td-dev-public.oss-cn-hangzhou.aliyuncs.com/maoyes-app/1643248707596340144.gif"
style="width: 375px; margin-right: 10px; border: 1px solid #ddd;"
/>
</figure>
</center>
### 3. 禁用某项
```tsx | pure
<Radio
options={[
{ label: 'Apple', value: 'Apple' },
{ label: 'Pear', value: 'Pear' },
{ label: 'Orange', value: 'Orange' },
]}
disabledValue={['Apple']}
/>
```
<center>
<figure>
<img
src="https://td-dev-public.oss-cn-hangzhou.aliyuncs.com/maoyes-app/1643248779441131355.gif"
style="width: 375px; margin-right: 10px; border: 1px solid #ddd;"
/>
</figure>
</center>
### 4. RadioList
```tsx | pure
<RadioList
options={[
{ label: 'Apple', value: 'Apple' },
{ label: 'Pear', value: 'Pear' },
{ label: 'Orange', value: 'Orange' },
]}
/>
```
<center>
<figure>
<img
src="https://td-dev-public.oss-cn-hangzhou.aliyuncs.com/maoyes-app/1643248840301238393.gif"
style="width: 375px; margin-right: 10px; border: 1px solid #ddd;"
/>
</figure>
</center>
## API
### Radio / RadioList
| 属性 | 必填 | 说明 | 类型 | 默认值 |
| -------------- | ------- | ------------------------ | ---------------------------- | ------ |
| options | `true` | 指定可选项 | `RadioOption[]` | |
| value | `false` | 选中的项 | `ReactText` | |
| onChange | `false` | 选中单选框触发的回调函数 | `(value: ReactText) => void` | |
| defaultValue | `false` | 默认选中的项 | `ReactText` | |
| size | `false` | 图标大小 | `number` | |
| disabledValue | `false` | 设置禁用的项 | `ReactText[]` | |
| containerStyle | `false` | 自定义容器样式 | `ViewStyle` | |
| itemStyle | `false` | 自定义单个单选框样式 | `ViewStyle` | |
| labelStyle | `false` | 自定义文本样式 | `TextStyle` | |
| activeOpacity | `false` | 未禁用时的不透明度 | `number` | `0.6` |
### RadioItem
| 属性 | 必填 | 说明 | 类型 | 默认值 |
| --- | --- | --- | --- | --- |
| itemStyle | `false` | 自定义单个单选框样式 | `ViewStyle` | |
| labelStyle | `false` | 自定义文本样式 | `TextStyle` | |
| size | `false` | 图标大小 | `number` | |
| activeOpacity | `false` | 未禁用时的不透明度 | `number` | `0.6` |
| label | `true` | 单选框文本 | `ReactNode` | |
| value | `true` | 单选框的值 | `ReactText` | |
| status | `true` | 单选框选中状态 | `'checked' \| 'unchecked'` | |
| disabled | `true` | 单选框禁用状态 | `boolean` | |
| mode | `false` | 单选框模式,list 表示以列表展示 | `'list' \| 'row'` | |
| onChange | `false` | 选中单选框触发的回调函数 | `(value: ReactText, status: RadioStatus) => void` | |
| isLast | `false` | 是否是最后一个 | `boolean` | `false` |