news 2026/8/25 22:15:33

鸿蒙 ArkTS 实战|用卡片组件重构化合反应学习

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
鸿蒙 ArkTS 实战|用卡片组件重构化合反应学习


一、设计思路

化合反应"多变一"的知识点结构化程度高,非常适合 ArkTS 的数据驱动 + 组件化开发。我们把每个方程式建模为interface,用@Prop属性传递、ForEach批量渲染成统一卡片,四个反应类型页面复用同一个EquationCard组件。

二、数据模型(Equation 接口)

// 化合反应数据模型interfaceEquation{equation:string;// 化学方程式condition:string;// 反应条件:点燃 / 加热 / 常温phenomenon:string;// 实验现象note:string;// 易错点 / 考点备注}

三、公共卡片组件(EquationCard.ets)

/** * 化学方程式展示卡片(公共组件) * 化合 / 分解 / 置换 / 复分解四个页面复用 */@Componentexportstruct EquationCard{@Propequation:string='';@Propcondition:string='';@Propphenomenon:string='';@Propnote:string='';@PropaccentColor:string='#4C7DFF';build(){Column({space:10}){// 方程式主体Text(this.equation).fontSize(17).fontWeight(FontWeight.Bold).fontColor('#111827').width('100%').textAlign(TextAlign.Center).lineHeight(26)// 反应条件标签(空则不显示)if(this.condition.length>0){Text(this.condition).fontSize(12).fontColor(this.accentColor).backgroundColor(this.accentColor+'1A').padding({left:12,right:12,top:3,bottom:3}).borderRadius(10).margin({top:2})}Divider().color('#EEF2F7').strokeWidth(1).margin({top:4,bottom:4})// 实验现象if(this.phenomenon.length>0){Row({space:6}){Text('🎯').fontSize(14)Text(this.phenomenon).fontSize(13).fontColor('#4B5563').layoutWeight(1).lineHeight(20)}.width('100%').alignItems(VerticalAlign.Top)}// 备注if(this.note.length>0){Row({space:6}){Text('💡').fontSize(14)Text(this.note).fontSize(13).fontColor('#6B7280').layoutWeight(1).lineHeight(20)}.width('100%').alignItems(VerticalAlign.Top)}}.width('100%').padding(16).borderRadius(16).backgroundColor(Color.White).border({width:1,color:'#E5EAF2'})}}

四、化合反应页面(CombinationReaction.ets)

import{router}from'@kit.ArkUI';import{EquationCard}from'../common/EquationCard';/** * 化合反应学习页(多变一)通式:A + B → AB */@Entry@Componentstruct CombinationReaction{privatethemeColor:string='#4C7DFF';privateequations:Equation[]=[{equation:'2Mg + O₂ → 2MgO',condition:'点燃',phenomenon:'发出耀眼白光,放出大量热',note:'生成白色固体氧化镁,镁带燃烧是中考常考点'},{equation:'4P + 5O₂ → 2P₂O₅',condition:'点燃',phenomenon:'产生大量白烟,放出热量',note:'红磷燃烧可用于测定空气中氧气含量'},{equation:'3Fe + 2O₂ → Fe₃O₄',condition:'点燃',phenomenon:'剧烈燃烧,火星四射,放热',note:'集气瓶底放少量水或细沙,防止高温熔落物炸裂瓶底'},{equation:'C + O₂ → CO₂',condition:'点燃',phenomenon:'发出白光,放热',note:'生成能使澄清石灰水变浑浊的气体'},{equation:'2C + O₂ → 2CO',condition:'点燃(氧气不充足)',phenomenon:'发出蓝色火焰,放热',note:'碳不完全燃烧生成一氧化碳,CO 有毒,注意通风'},{equation:'S + O₂ → SO₂',condition:'点燃',phenomenon:'发出明亮的蓝紫色火焰,放热',note:'SO₂ 有刺激性气味,是空气污染物'},{equation:'2H₂ + O₂ → 2H₂O',condition:'点燃',phenomenon:'发出淡蓝色火焰,放热',note:'点燃氢气前必须先验纯,防止爆炸'},{equation:'2CO + O₂ → 2CO₂',condition:'点燃',phenomenon:'发出蓝色火焰,放热',note:'CO 是可燃性有毒气体,尾气需处理'},{equation:'CO₂ + H₂O → H₂CO₃',condition:'常温',phenomenon:'无明显现象',note:'碳酸使紫色石蕊变红,加热后又恢复紫色'},{equation:'CaO + H₂O → Ca(OH)₂',condition:'常温(放热)',phenomenon:'放出大量热',note:'生石灰作食品干燥剂,产物为熟石灰'},{equation:'2Na + Cl₂ → 2NaCl',condition:'点燃',phenomenon:'剧烈燃烧,发出黄色火焰',note:'钠在氯气中燃烧,生成白烟(氯化钠固体小颗粒)'}];build(){Column(){// 顶部标题栏Row(){Text('‹').fontSize(34).fontColor(Color.White).onClick(()=>router.back())Text('化合反应').fontSize(20).fontWeight(FontWeight.Bold).fontColor(Color.White).margin({left:8})Blank()}.width('100%').height(56).padding({left:10,right:16}).backgroundColor(this.themeColor)Scroll(){Column({space:14}){// 定义卡片Column({space:8}){Text('📖 什么是化合反应').fontSize(16).fontWeight(FontWeight.Bold).fontColor('#111827').width('100%')Text('由两种或两种以上的物质生成另一种物质的反应。').fontSize(14).fontColor('#4B5563').lineHeight(22).width('100%')Text('特征:多变一。判断时只看生成物是否只有一种。').fontSize(13).fontColor(this.themeColor).width('100%')}.width('100%').padding(16).borderRadius(16).backgroundColor('#EAF0FF').border({width:1,color:'#D4E2FF'})// 通式卡片Column({space:6}){Text('通式').fontSize(12).fontColor('#9CA3AF').width('100%')Text('A + B → AB').fontSize(22).fontWeight(FontWeight.Bold).fontColor(this.themeColor).width('100%').textAlign(TextAlign.Center)}.width('100%').padding(16).borderRadius(16).backgroundColor(Color.White).border({width:1,color:'#E5EAF2'})// ForEach 批量渲染方程式卡片ForEach(this.equations,(item:Equation)=>{EquationCard({equation:item.equation,condition:item.condition,phenomenon:item.phenomenon,note:item.note,accentColor:this.themeColor})},(item:Equation)=>item.equation)// 口诀卡片Column({space:8}){Text('🗣️ 记忆口诀').fontSize(16).fontWeight(FontWeight.Bold).fontColor('#111827').width('100%')Text('多变一,化合记;生成物只看一种,别把燃烧混进来。').fontSize(14).fontColor('#4B5563').lineHeight(24).width('100%')}.width('100%').padding(16).borderRadius(16).backgroundColor('#FFF7E6').border({width:1,color:'#FDEBC8'})}.padding(14)}.layoutWeight(1).scrollBar(BarState.Off)}.height('100%').width('100%').backgroundColor('#F4F6FA')}}

五、代码要点

  • 组件复用EquationCard@Prop接收数据,四个反应类型页面共享同一卡片样式,只改accentColor换主题色。
  • 数据驱动interface Equation定义结构化数据,ForEach遍历渲染,增删方程式只需改数组。
  • 唯一渲染键ForEach第三个参数(item) => item.equation保证列表 diff 高效。

六、化合反应速记

要点内容
定义多种物质 → 一种物质(A + B → AB)
判定只看生成物是否唯一
常见现象Mg 耀眼白光、S 蓝紫色火焰、Fe 火星四射、P 白烟、H₂ 淡蓝色火焰
典型易错铁丝燃烧生成 Fe₃O₄ 而非 Fe₂O₃;点燃前氢气必须验纯
口诀多变一,化合记;生成物只看一种
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/25 22:14:40

AI科研绘图工具实测对比:哪款更适合论文配图

论文写作中,科研绘图往往是耗时最长、返工最多的环节。信号通路示意图、实验流程图、分子结构图、电路结构图、数据统计图,每一类科研绘图任务对工具的要求都不一样。传统的科研绘图流程需要研究人员在多个软件之间反复切换,一次配色调整可能…

作者头像 李华
网站建设 2026/8/25 22:12:05

课本同步英语听力工具怎么选?2026年避坑3要点

核心要点:课本同步英语听力工具,2026年选型的核心不是看资源量,而是看“教材版本匹配精度”“语音评测反馈深度”和“数据闭环能力”。我们团队实测了市面上十几款主流产品后发现,大部分工具只解决了“放音频”的问题,…

作者头像 李华
网站建设 2026/8/25 22:10:44

抖音批量下载工具完整教程:三步命令跑通批量无水印归档

抖音批量下载工具完整教程:三步命令跑通批量无水印归档 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback supp…

作者头像 李华
网站建设 2026/8/25 22:10:37

验收结算:草率签字等于防线失守

验收是装修的收尾环节,也是很多企业做得比较草率的地方。签了字付了尾款,入住后发现问题,装修公司已经没有动力修了。 分阶段验收清单 隐蔽工程验收(水电封墙前): • 水管打压测试(保压30分钟…

作者头像 李华
网站建设 2026/8/25 22:09:17

弯管专用关节臂式三坐标:如何高效解决管件测量难题

弯管广泛应用于汽车、航空航天、工程机械、液压及能源等行业。与普通规则零件不同,空间弯管往往包含多个直线段、弯曲段和空间旋转关系,依靠传统测量方式很难快速、完整地获取管件的三维几何状态。尤其面对多弯、长尺寸及柔性易变形管件时,检…

作者头像 李华
网站建设 2026/8/25 22:09:14

变压器的“数字医生”:蜂窝通信的云控终端

在纵横交错的电网版图上,变压器承担着不同电压等级的电能转换任务,是电力传输体系的核心“心脏”。但这台关键设备长期受油温变化、负荷波动、复杂环境等多重因素影响,运行风险隐蔽。传统运维以定期巡检为主,类似给设备做“定期体…

作者头像 李华