HarmonyOS7 基础单选项:用 Radio 做好单项选择
文章目录前言先看这个案例解决什么状态为什么这样设计关键代码拆开看完整代码落地时我会怎么改前言这组案例开始进入选择类和调节类组件写业务页面时会经常遇到。这个案例围绕Radio 基础互斥选择展开重点不是把属性背下来而是弄清楚状态、组件和用户操作之间怎么连起来。这篇我会把重点放在组件入门上尽量说清楚它在真实页面里有什么用。先看这个案例解决什么如果把它放到真实项目里常见位置可能是设置页、筛选页、编辑页或者某个需要快速操作的工具面板。用户点一下、选一下、拖一下页面就应该给出明确反馈。维度内容案例主题Radio 基础互斥选择核心 APIRadio使用场景单项选择文章侧重点组件入门状态为什么这样设计代码结构可以按三层读外层负责页面背景和留白中间卡片承载主要内容内部组件处理具体交互。这样的层级不花哨但维护起来比较舒服。我比较推荐先把状态字段命名清楚。选中项、开关状态、滑块数值最好都能从名字看出用途比随手写flag、value后面省心很多。关键代码拆开看先看一段连续代码基本能判断这个案例的运行方式。它包含入口组件、状态字段以及一部分核心 UI。EntryComponentstruct BasicRadioChoice{StateisShow:booleantruebuild(){Column(){if(this.isShow){Column(){Text(Radio 基础).fontSize(16).fontWeight(FontWeight.Bold).margin({bottom:12})Text(RadioGroup 单选互斥行为).fontSize(12).fontColor(SUBTEXT_COLOR).margin({bottom:10})Column(){Row(){Radio({value:appleValue,group:fruitGroup});Text(苹果).fontSize(15).margin({left:8})}.margin({bottom:10})Row(){Radio({value:bananaValue,group:fruitGroup});Text(香蕉).fontSize(15).margin({left:8})}.margin({bottom:10})Row(){Radio({value:orangeValue,group:fruitGroup});Text(橙子).fontSize(15).margin({left:8})}这段代码可以拆成几块看State保存当前页面状态用户操作之后会触发 UI 更新。Radio是案例的关键入口真正的行为通常由它和事件回调一起完成。布局属性服务于业务表达选中、禁用、拖动这些状态最好都能在视觉上看出来。完整代码下面是整理后的完整代码。组件名已经改成BasicRadioChoice共享颜色也内置到当前文件里单独复制出来读会更方便。constPAGE_BG_COLOR:string#F5F6FAconstCARD_BG_COLOR:string#FFFFFFconstSUBTEXT_COLOR:string#8A8A8AEntryComponentstruct BasicRadioChoice{StateisShow:booleantruebuild(){Column(){if(this.isShow){Column(){Text(Radio 基础).fontSize(16).fontWeight(FontWeight.Bold).margin({bottom:12})Text(RadioGroup 单选互斥行为).fontSize(12).fontColor(SUBTEXT_COLOR).margin({bottom:10})Column(){Row(){Radio({value:appleValue,group:fruitGroup});Text(苹果).fontSize(15).margin({left:8})}.margin({bottom:10})Row(){Radio({value:bananaValue,group:fruitGroup});Text(香蕉).fontSize(15).margin({left:8})}.margin({bottom:10})Row(){Radio({value:orangeValue,group:fruitGroup});Text(橙子).fontSize(15).margin({left:8})}}}.width(100%).padding(16).backgroundColor(CARD_BG_COLOR).borderRadius(12)}Text(基础单选项Radio 基础 - RadioGroup 单选互斥).fontSize(12).fontColor(SUBTEXT_COLOR).margin({top:12})}.width(100%).height(100%).backgroundColor(PAGE_BG_COLOR).padding(16)}}落地时我会怎么改继续扩展的话我会把静态选项抽成接口返回的数据再补上空状态和异常状态。示例页面先把核心交互跑通就够了到了业务页面状态边界才是真正容易出问题的地方。

相关新闻

HarmonyOS7 复选框综合面板:用 selectedColor 做好综合选择

HarmonyOS7 复选框综合面板:用 selectedColor 做好综合选择

文章目录前言案例效果和学习目标从布局读到状态重点代码解释完整代码我的小建议前言 这组案例开始进入选择类和调节类组件,写业务页面时会经常遇到。这个案例围绕 Checkbox 综合使用 展开,重点不是把属性背下来,而是弄清楚状态、组件和用户操…

2026/7/21 8:26:42 阅读更多 →
重塑AI的“骨骼”:当精度扩散成为LLM权重的“超级压缩器”

重塑AI的“骨骼”:当精度扩散成为LLM权重的“超级压缩器”

我们正站在一个十字路口。一边是大型语言模型(LLM)爆炸式的智能增长,另一边是训练和部署这些庞然大物时令人窒息的计算成本。如果说GPU是AI的“心脏”,那么模型的**权重(Weights)**就是AI的“骨骼”——它决…

2026/7/21 8:25:41 阅读更多 →
HarmonyOS7 尺码单选列表:用 ForEach 做好尺码选择

HarmonyOS7 尺码单选列表:用 ForEach 做好尺码选择

文章目录前言这个写法的价值组件 API 对照关键代码说明完整代码写在最后前言 这组案例开始进入选择类和调节类组件,写业务页面时会经常遇到。这个案例围绕 Radio 垂直列表 展开,重点不是把属性背下来,而是弄清楚状态、组件和用户操作之间怎么…

2026/7/21 8:25:41 阅读更多 →

最新新闻

GJB/Z299D可靠性预计软件 常见问题FAQ

GJB/Z299D可靠性预计软件 常见问题FAQ

一、操作流程类(使用步骤、导入导出) Q1:软件快速可靠性预计步骤是什么? A:标准操作流程:导出空白表格→录入元器件信息→将表格导入软件→逐行完成器件选型与可靠性预计。若遇到导出空白表格失败的问题&…

2026/7/23 13:41:39 阅读更多 →
CUDA版本冲突怎么解决?实用解决方法汇总指南

CUDA版本冲突怎么解决?实用解决方法汇总指南

对于科研人员来说,文献工作往往伴随着两个极端的痛苦:一是搜索时的大海捞针,为了几篇核心文献,不得不花费数小时翻阅成百上千条琐碎的摘要;二是阅读时的翻译折磨,在专业术语和复杂的 LaTeX 公式间反复推敲&…

2026/7/23 13:41:39 阅读更多 →
AI应用上线失败原因与生产环境优化实践

AI应用上线失败原因与生产环境优化实践

1. 为什么90%的AI应用活不过上线前夜?上周帮朋友review他们团队耗时半年开发的AI客服系统,在演示环境跑得风生水起,结果压测时API响应时间从200ms直接飙到20秒。这让我想起去年参与的七个AI项目中,有五个都倒在了上线前的最后三公…

2026/7/23 13:41:39 阅读更多 →
你写的自动化脚本,正被 AI 一行行重写

你写的自动化脚本,正被 AI 一行行重写

我写了三年的自动化脚本,被一句提示词废了 周会上,新来的小哥当着总监面演示:把我们的接口文档往一个网页里一丢,输入"生成覆盖所有接口的回归测试用例,输出 pytest 代码",十秒钟,屏上…

2026/7/23 13:41:39 阅读更多 →
算法:回溯算法

算法:回溯算法

引言 40. 组合总和 II - 力扣(LeetCode) 93. 复原 IP 地址 - 力扣(LeetCode) 78. 子集 - 力扣(LeetCode) 491. 非递减子序列 - 力扣(LeetCode) 46. 全排列 - 力扣(L…

2026/7/23 13:41:39 阅读更多 →
家庭KTV音响系统选型与调试指南:从核心组件到声学优化

家庭KTV音响系统选型与调试指南:从核心组件到声学优化

家庭KTV音响系统从简单的蓝牙音箱到专业级设备,选择范围很广。山水(SANSUI) Q52S作为一款卡拉OK一体机,集成了功放、混响、无线麦克风和音箱功能,适合不想折腾复杂接线的家庭用户。但真正决定KTV体验的不仅是设备品牌,更是声学环境…

2026/7/23 13:40:39 阅读更多 →

日新闻

从单点好评到指数级传播:AI副业主理人必须掌握的4层口碑渗透模型(含ROI测算表)

从单点好评到指数级传播:AI副业主理人必须掌握的4层口碑渗透模型(含ROI测算表)

更多请点击: https://intelliparadigm.com 第一章:从单点好评到指数级传播:AI副业主理人必须掌握的4层口碑渗透模型(含ROI测算表) 当AI副业主理人不再仅满足于单次服务交付,而是主动构建可复用、可裂变、可…

2026/7/23 0:00:25 阅读更多 →
AI写作开头钩子设计:为什么你的AI文案完读率不足18%?——基于2,346篇A/B测试报告的归因分析

AI写作开头钩子设计:为什么你的AI文案完读率不足18%?——基于2,346篇A/B测试报告的归因分析

更多请点击: https://codechina.net 第一章:AI写作开头钩子设计:为什么你的AI文案完读率不足18%?——基于2,346篇A/B测试报告的归因分析 在对2,346篇跨行业AI生成文案的A/B测试数据进行聚类分析后,我们发现&#xff1…

2026/7/23 0:01:26 阅读更多 →
Chitchatter完整指南:免费开源的终极点对点安全聊天工具

Chitchatter完整指南:免费开源的终极点对点安全聊天工具

Chitchatter完整指南:免费开源的终极点对点安全聊天工具 【免费下载链接】chitchatter Secure peer-to-peer chat that is serverless, decentralized, and ephemeral 项目地址: https://gitcode.com/gh_mirrors/ch/chitchatter Chitchatter是一款革命性的安…

2026/7/23 0:01:26 阅读更多 →

周新闻

Go语言静态资源打包方案对比与实践指南

Go语言静态资源打包方案对比与实践指南

1. 项目背景与核心需求在Go语言开发中,我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源,还是配置文件、证书等,都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下,但这…

2026/7/22 8:58:19 阅读更多 →
Go语言实现高性能LDAP认证服务的架构与实践

Go语言实现高性能LDAP认证服务的架构与实践

1. 项目背景与核心价值LDAP(轻量级目录访问协议)作为企业级身份认证的黄金标准,已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时,发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…

2026/7/22 19:43:43 阅读更多 →
【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

更多请点击: https://intelliparadigm.com 第一章:AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”,而是以可解释、可审计、可迭代的方式,赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…

2026/7/22 12:54:44 阅读更多 →

月新闻