组件:单选框
单选框(Radio Button)组件用于在一组互斥的选项中选择一项,同一组中只能有一个被选中。它支持设置标题、选中状态、禁用状态,并可通过设置相同的 name 属性(或通过 置属性值)来将多个单选框归为一组。常用于性别选择、支付方式、选项偏好等场景。
典型使用场景:
- 性别选择(男/女/其他)
- 支付方式选择(微信/支付宝/银行卡)
- 订阅计划选择(免费/付费/企业版)
- 评价等级选择(满意/一般/不满意)
- 选项选择(是/否/不确定)
📌 继承自视图的成员速查
本组件继承自 视图 类,可直接使用以下属性和方法:
属性: ID、左边、顶边、右边、底边、宽度、高度、背景、背景颜色、背景图像、文本、文本颜色、字体、字体大小、字体粗细、行高、边框、边框圆角、边框宽度、光标样式、显示模式、透明度、外边距、外边距底、外边距左、外边距右、外边距顶、最大高度、最大宽度、最小高度、最小宽度、内边距、内边距底、内边距左、内边距右、内边距顶、定位、CLASS、InnerHTML、OuterHTML、内容水平对齐方式、首行缩进、可视、显示层级、内联样式、禁用
方法: 追加内联样式(样式文本)、置内联样式(名称,值)、取内联样式值(名称)、取Style对象()、添加事件(事件名称, 回调函数)、删除事件(事件名称, 回调函数)、获取焦点()、清除焦点()、添加样式类(类名称)、移除样式类(类名称)、取样式类列表()、取样式类()、执行单击()、取属性值(属性名)、取属性节点(属性名)、取布局参数()、取渲染宽度()、取渲染高度()、取渲染顶边()、取渲染左边()、左侧对齐到(目标组件,偏移量)、右侧对齐到(目标组件,偏移量)、顶边对齐到(目标组件,偏移量)、底边对齐到(目标组件,偏移量)、右侧对齐到左(目标组件, 偏移量)、左侧对齐到右(目标组件, 偏移量)、底边对齐到顶(目标组件, 偏移量)、顶边对齐到底(目标组件, 偏移量)、有指定属性(属性名)、有属性()、内容可编辑()、包含CSS类(类名)、取命名空间()、取下个节点()、取下个元素()、取节点名称()、取节点类型()、取父节点()、取父元素()、取上个节点()、取上个元素()、销毁()、删除属性(属性名)、删除属性节点(属性名)、置属性值(属性名, 属性值)、置属性节点(属性节点)、取标签名()、移动(左边 顶边, 宽度, 高度)、取原生对象()、置被单击回调(回调函数)、置被双击回调(回调函数)、置鼠标被进入回调(回调函数)、置鼠标被移出回调(回调函数)、置鼠标被移动回调(回调函数)、置鼠标被按下回调(回调函数)、置鼠标被抬起回调(回调函数)、置鼠标滚轮被滚动回调(回调函数)、置键盘被按下回调(回调函数)、置按键被抬起回调(回调函数)、置按键被压下回调(回调函数)、置被失去焦点回调(回调函数)、置被获得焦点回调(回调函数)
事件: 被单击(源对象,事件源)、被双击(源对象,事件源)、鼠标被进入(源对象,事件源)、鼠标被移出(源对象,事件源)、鼠标被移动(源对象,事件源)、鼠标被按下(源对象,事件源)、鼠标被抬起(源对象,事件源)、鼠标滚轮被滚动(源对象,事件源)、键盘被按下(源对象,事件源)、按键被抬起(源对象,事件源)、按键被压下(源对象,事件源)、被失去焦点(源对象,事件源)、被获得焦点(源对象,事件源)
💡 完整成员列表及详细说明请参考:
视图类
常用操作速查
| 操作 | 属性/方法 | 示例 |
|---|---|---|
| 设置标题文本 | 标题 | 单选框1.标题 = "男" |
| 设置选中状态 | 选中 | 单选框1.选中 = 真 |
| 设置分组名称(需同组相同) | 置属性值("name", 组名) | 单选框1.置属性值("name", "gender") |
| 禁用/启用组件 | 禁用 | 单选框1.禁用 = 真 |
| 设置选中状态改变回调 | 置选中状态被改变回调(回调函数) | 单选框1.置选中状态被改变回调((源对象, 新选中状态) => { ... }) |
样式美化参考
单选框的外观可通过继承的视图属性以及 CSS 类进行美化:
- 整体容器:通过
宽度、高度、背景颜色、边框、边框圆角等属性美化。 - 字体样式:通过
字体大小(建议"14px")、文本颜色控制标题文字样式。 - 内边距:使用
内边距(如"4px 8px")控制内容与边框的距离。 - 选中状态:可通过 CSS 类自定义选中时的背景色、边框色。
样式变体示例:
| 变体 | 属性组合 |
|---|---|
| 圆形单选框(默认) | 边框圆角 = "50%",宽度 = 20,高度 = 20 |
| 方形单选框 | 边框圆角 = "4px",宽度 = 20,高度 = 20 |
| 大尺寸单选框 | 宽度 = 24,高度 = 24,字体大小 = "16px" |
| 选中状态样式 | 背景颜色 = "#1890ff",边框 = "2px solid #1890ff" |
| 未选中状态样式 | 背景颜色 = "#ffffff",边框 = "1px solid #d9d9d9" |
| 禁用状态样式 | 背景颜色 = "#f5f5f5",边框 = "1px solid #d9d9d9",透明度 = "0.6" |
| 水平布局(多个单选框并排) | 显示模式 = "行内块",外边距右 = "16px" |
| 垂直布局(多个单选框堆叠) | 显示模式 = "块级",外边距底 = "8px" |
单选框本身的圆形/方形由组件内部实现,通过
边框圆角等属性可能无法直接改变形状,建议使用 CSS 类自定义。
基础示例
创建两个单选框(男/女),默认选中“男”,并设置分组名称 "gender"。
' 创建男单选框
变量 单选框_男 = 创建 单选框()
单选框_男.左边 = 50
单选框_男.顶边 = 50
单选框_男.标题 = "男"
单选框_男.选中 = 真
单选框_男.置属性值("name", "gender") ' 分组名称
添加组件(单选框_男)
' 创建女单选框
变量 单选框_女 = 创建 单选框()
单选框_女.左边 = 50
单选框_女.顶边 = 80
单选框_女.标题 = "女"
单选框_女.选中 = 假
单选框_女.置属性值("name", "gender")
添加组件(单选框_女)
' 绑定选中改变事件(可只绑定其中一个,事件会携带新状态)
单选框_男.置选中状态被改变回调((源对象, 新选中状态) => {
如果(新选中状态)
弹出提示("选择了:男")
结束 如果
})
单选框_女.置选中状态被改变回调((源对象, 新选中状态) => {
如果(新选中状态)
弹出提示("选择了:女")
结束 如果
})
综合示例:支付方式选择
本示例展示一个支付方式选择界面,包含三种支付方式(微信、支付宝、银行卡),选中后显示对应图标和说明,并实时更新支付方式。
' ========== 创建面板 ==========
变量 支付面板 = 创建 卡片框()
支付面板.左边 = 50
支付面板.顶边 = 50
支付面板.宽度 = 360
支付面板.标题 = "💳 选择支付方式"
支付面板.边框 = "1px solid #e8e8e8"
支付面板.边框圆角 = "12px"
支付面板.内边距 = "16px"
添加组件(支付面板)
' 提示标签
变量 提示标签 = 创建 标签()
提示标签.文本 = "请选择一种支付方式:"
提示标签.字体大小 = "14px"
提示标签.文本颜色 = "#666"
提示标签.内边距 = "0 0 12px 0"
支付面板.添加组件(提示标签)
' 方式1:微信支付
变量 支付_微信 = 创建 单选框()
支付_微信.标题 = "微信支付"
支付_微信.选中 = 真
支付_微信.置属性值("name", "payment")
支付_微信.内边距 = "6px 0"
支付面板.添加组件(支付_微信)
' 方式2:支付宝
变量 支付_支付宝 = 创建 单选框()
支付_支付宝.标题 = "支付宝"
支付_支付宝.选中 = 假
支付_支付宝.置属性值("name", "payment")
支付_支付宝.内边距 = "6px 0"
支付面板.添加组件(支付_支付宝)
' 方式3:银行卡
变量 支付_银行卡 = 创建 单选框()
支付_银行卡.标题 = "银行卡"
支付_银行卡.选中 = 假
支付_银行卡.置属性值("name", "payment")
支付_银行卡.内边距 = "6px 0"
支付面板.添加组件(支付_银行卡)
' 显示当前选择的标签
变量 选择标签 = 创建 标签()
选择标签.文本 = "当前选择:微信支付"
选择标签.字体大小 = "16px"
选择标签.字体粗细 = "bold"
选择标签.文本颜色 = "#1890ff"
选择标签.内边距 = "12px 0 0"
支付面板.添加组件(选择标签)
' ========== 绑定回调事件 ==========
' 定义统一处理函数
函数 更新支付方式(源对象, 新选中状态)
如果(新选中状态)
变量 文本 = 源对象.标题
选择标签.文本 = "当前选择:" + 文本
弹出提示("已切换至:" + 文本)
结束 如果
结束 函数
支付_微信.置选中状态被改变回调(更新支付方式)
支付_支付宝.置选中状态被改变回调(更新支付方式)
支付_银行卡.置选中状态被改变回调(更新支付方式)
属性详解
标题
- 类型:
文本型 - 说明: 设置或获取单选框右侧显示的标题文本,用于描述选项内容。
选中
- 类型:
逻辑型 - 说明: 设置或获取当前单选框是否被选中。当设为
真时,该单选框变为选中状态,同组其他单选框自动取消选中(依赖于分组名称)。
禁用
- 类型:
逻辑型 - 说明: 设置或获取是否禁用单选框。禁用后,用户无法点击切换,样式变灰。默认为
假。
函数详解
置选中状态被改变回调(回调函数)
- 功能: 设置当单选框的选中状态发生变化时的回调函数。回调会在用户点击切换(或通过代码修改
选中)时触发。 - 参数:
回调函数,格式为(源对象, 新选中状态) => { ... }。源对象:触发事件的单选框组件本身。新选中状态:逻辑型,真表示变为选中,假表示变为未选中。
- 返回值: 无。
- 示例:
单选框1.置选中状态被改变回调((源对象, 新选中状态) => { 如果(新选中状态) 调试输出("选中:" + 源对象.标题) 结束 如果 })
事件说明
选中状态被改变(源对象, 新选中状态)
- 功能: 与
置选中状态被改变回调等效,适用于设计文件(.spldg)中定义的组件。 - 示例:
事件 单选框1.选中状态被改变(源对象, 新选中状态) 调试输出("选中状态:" + 新选中状态) 结束 事件
⚠️ 注意事项
- 分组互斥:要实现单选框的互斥效果,必须为同一组的单选框设置相同的
name属性。可通过置属性值("name", "组名")或直接设置名称属性(如果组件支持)来实现。若name不同,它们不会互斥,可以同时选中多个。 - 选中状态自动管理:当同一个
name组中有一个单选框被选中时,其他同name的单选框会自动取消选中,无需手动处理。 - 初始选中:建议在程序启动时为组内一个单选框设置
选中 = 真,否则组内可能全部未选中,用户交互时第一个被点击的会选中。 - 禁用状态:
禁用 = 真的单选框不会响应用户点击,但依然可以显示选中状态。 - 回调触发:
置选中状态被改变回调会在选中状态变化时触发,包括用户点击和代码修改。注意避免在回调中反复修改选中导致死循环。 - 标题样式:标题文本紧挨着单选框,可通过继承的
字体大小、文本颜色、字体粗细控制其样式。 - 与多选框的区别:单选框用于互斥选择(只能选一个),多选框用于多选(可同时选多个)。
相关文档
- 文档
框架基础类_视图—— 视图类提供的所有通用属性和方法 - 文档
文本类组件_多选框—— 多选组件 - 文档
文本类组件_标签—— 配合显示说明文字 - 文档
轻语言网站:轻语言语法速查—— 拉姆达表达式、条件判断等 - 文档
综合演示:支付方式选择—— 实际应用示例