7.2 KiB
7.2 KiB
title, description, spline, isComponent
| title | description | spline | isComponent |
|---|---|---|---|
| Radio 单选框 | 用于在预设的一组选项中执行单项选择,并呈现选择结果。 | form | true |
引入
全局引入,在 miniprogram 根目录下的app.json中配置,局部引入,在需要引入的页面或组件的index.json中配置。
"usingComponents": {
"t-radio": "tdesign-miniprogram/radio/radio",
"t-radio-group": "tdesign-miniprogram/radio-group/radio-group"
}
代码演示
Tips: 请确保开发者工具为打开状态。导入开发者工具后,依次执行:npm i > 构建npm包 > 勾选 "将JS编译成ES5"
纵向单选框
{{ base }}
横向单选框
{{ horizontal }}
单选框状态
{{ status }}
勾选样式
{{ theme }}
勾选显示位置
{{ align }}
非通栏单选样式
{{ card }}
特殊样式
{{ special }}
API
Radio Props
| 名称 | 类型 | 默认值 | 描述 | 必传 |
|---|---|---|---|---|
| style | Object | - | 样式 | N |
| custom-style | Object | - | 样式,一般用于开启虚拟化组件节点场景 | N |
| allow-uncheck | Boolean | false | 是否允许取消选中 | N |
| block | Boolean | true | 是否为块级元素 | N |
| checked | Boolean | false | 是否选中 | N |
| default-checked | Boolean | undefined | 是否选中。非受控属性 | N |
| content | String / Slot | - | 单选内容。通用类型定义 | N |
| content-disabled | Boolean | false | 是否禁用组件内容(content)触发选中 | N |
| disabled | Boolean | undefined | 是否为禁用态 | N |
| icon | String / Array / Slot | 'circle' | 自定义选中图标和非选中图标。使用 Array 时表示:[选中态图标,非选中态图标]。使用 String 时,值为 circle 表示填充型图标、值为 line 表示描边型图标、值为 dot 表示圆点图标,值为 slot 时使用插槽。TS 类型:'circle' | 'line' | 'dot' | Array<string> |
N |
| label | String / Slot | - | 主文案。通用类型定义 | N |
| max-content-row | Number | 5 | 内容最大行数限制 | N |
| max-label-row | Number | 3 | 主文案最大行数限制 | N |
| name | String | - | HTML 元素原生属性 | N |
| placement | String | - | 复选框和内容相对位置。优先级高于 RadioGroup.placement。Radio 单独存在时,默认值为 left。如果父组件存在 RadioGroup,默认值便由 RadioGroup.placement 决定。可选项:left/right | N |
| readonly | Boolean | undefined | 只读状态 | N |
| value | String / Number / Boolean | false | 单选按钮的值。TS 类型:T type RadioValue = string | number | boolean。详细类型定义 |
N |
Radio Events
| 名称 | 参数 | 描述 |
|---|---|---|
| change | (checked: boolean) |
值变化时触发 |
Radio External Classes
| 类名 | 描述 |
|---|---|
| t-class | 根节点样式类 |
| t-class-border | 边框样式类 |
| t-class-content | 内容样式类 |
| t-class-icon | 图标样式类 |
| t-class-label | 标签样式类 |
RadioGroup Props
| 名称 | 类型 | 默认值 | 描述 | 必传 |
|---|---|---|---|---|
| style | Object | - | 样式 | N |
| custom-style | Object | - | 样式,一般用于开启虚拟化组件节点场景 | N |
| allow-uncheck | Boolean | false | 是否允许取消选中 | N |
| borderless | Boolean | false | 是否开启无边框模式 | N |
| disabled | Boolean | undefined | 是否禁用全部子单选框 | N |
| icon | String / Array | 'circle' | 自定义选中图标和非选中图标。示例:[选中态图标,非选中态图标]。使用 String 时,值为 circle 表示填充型图标、值为 line 表示描边型图标、值为 dot 表示圆点图标;仅在使用 options 时生效。TS 类型:'circle' | 'line' | 'dot' | Array<string> |
N |
| keys | Object | - | 用来定义 value / label 在 options 中对应的字段别名。TS 类型:KeysType。通用类型定义 |
N |
| name | String | - | HTML 元素原生属性 | N |
| options | Array | - | 单选组件按钮形式。RadioOption 数据类型为 string 或 number 时,表示 label 和 value 值相同。TS 类型:Array<RadioOption> type RadioOption = string | number | RadioOptionObj interface RadioOptionObj { label?: string; value?: string | number; readonly?: boolean; disabled?: boolean; allowUncheck?: boolean; }。详细类型定义 |
N |
| placement | String | left | 复选框和内容相对位置。优先级低于 Radio.placement。可选项:left/right | N |
| readonly | Boolean | undefined | 只读状态 | N |
| value | String / Number / Boolean | - | 选中的值。TS 类型:T type RadioValue = string | number | boolean。详细类型定义 |
N |
| default-value | String / Number / Boolean | undefined | 选中的值。非受控属性。TS 类型:T type RadioValue = string | number | boolean。详细类型定义 |
N |
RadioGroup Events
| 名称 | 参数 | 描述 |
|---|---|---|
| change | (value: RadioValue) |
选中值发生变化时触发 |
CSS Variables
组件提供了下列 CSS 变量,可用于自定义样式。
| 名称 | 默认值 | 描述 |
|---|---|---|
| --td-radio-bg-color | @bg-color-container | - |
| --td-radio-border-color | @component-stroke | - |
| --td-radio-content-checked-color | @font-gray-2 | - |
| --td-radio-content-color | @font-gray-2 | - |
| --td-radio-content-disabled-color | @font-gray-4 | - |
| --td-radio-content-font-size | 28rpx | - |
| --td-radio-content-line-height | 44rpx | - |
| --td-radio-font-size | 32rpx | - |
| --td-radio-icon-checked-color | @brand-color | - |
| --td-radio-icon-color | @component-border | - |
| --td-radio-icon-disabled-bg-color | @bg-color-component-disabled | - |
| --td-radio-icon-disabled-color | @brand-color-disabled | - |
| --td-radio-icon-size | 48rpx | - |
| --td-radio-label-checked-color | @font-gray-1 | - |
| --td-radio-label-color | @font-gray-1 | - |
| --td-radio-label-disabled-color | @font-gray-4 | - |
| --td-radio-label-line-height | 48rpx | - |
| --td-radio-vertical-padding | 32rpx | - |