恒美微站 Logo 恒美微站
  • 首页
  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心
  • 联系我们

鸿蒙实战 - 资料征集分发台:收件卡片与状态保持实现

  • 首页
  • 资讯中心
  • /
  • 鸿蒙实战 - 资料征集分发台:收件卡片与状态保持实现

相关资讯

WorkBuddy/CodeBuddy 自定义接入第三方 API 实战教程(以 Qwen3.5 为例) 2026/8/22 2:01:38
拉美的海外劳动力外包主要有哪几种模式? 2026/8/22 2:01:38
对比多家山东省高考志愿填报推荐机构的服务维度与流程 2026/8/22 2:01:38

最新资讯

nginx-proxy-manager-zh 使用教程:10 分钟从零跑通 Nginx 反向代理与 SSL 自动续期
Python数据分析实战:从数学建模到Pandas核心操作与可视化
nctoolbox实战:MATLAB里用一套API读取NetCDF、GRIB等15+种数据格式
如何快速查询手机号码归属地:location-to-phone-number 完整指南
皮尔逊相关系数:从数学原理到建模实战的完整指南
ADIAS:AI自动化设计交互式智能体系统的原理与实践

今日推荐

markdown-it-vue 踩坑排障:从安装到渲染的 6 个高频问题快速讲清
多尺度智能体控制:从宏观密度场到微观决策的架构与实践
CUBE标准:统一AI智能体评测的度量衡与架构解析

本周热门

【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码
【双层规划,节点出清价,绿证交易,CVaR方法】两级电力市场环境下计及风险的省间交易商最优购电模型附Matlab代码
隐式mpc+自适应mpc+时变mpc,线性时变模型预测控制附Simulink仿真

本月精选

如何用DamaiHelper实现演唱会门票的智能自动化抢购:完整技术解决方案指南
第4篇:59 倍性能差距的索引瓶颈定位——一次教科书级的全表扫描调优
终极歌词批量下载神器:5分钟解决离线音乐库歌词同步难题

鸿蒙实战 - 资料征集分发台:收件卡片与状态保持实现

发布时间:2026/8/22 2:01:38
鸿蒙实战 - 资料征集分发台:收件卡片与状态保持实现 实例资料征集分发台技术ComponentV2、Slider、Toggle、TextInput、TextArea、资料流程卡片一、本篇范围本篇只看五张资料卡片。资料征集页的重点不是炫效果而是让同一组卡片在不同密度视图里保持可编辑因此卡片代码必须完整呈现出来。二、卡片组一征集通知与签收记录ComponentV2struct CollectNoticeCard{Localtitle:string批次 A 通知;Localnote:string先发给东区、北区和设备组。;build(){Column({space:10}){Text(征集通知).fontSize(17).fontWeight(FontWeight.Bold).fontColor(#111827)TextInput({text:this.title,placeholder:通知标题}).backgroundColor(#F8FAFC).borderRadius(10).onChange((value:string)this.titlevalue)TextArea({text:this.note,placeholder:发送范围}).height(86).backgroundColor(#F8FAFC).borderRadius(10).onChange((value:string)this.notevalue)}.width(100%).padding(16).backgroundColor(#FFFFFF).borderRadius(18)}}ComponentV2struct CollectReceiveCard{Localcount:number18;Localnote:string上午已签收 12 份下午继续补收。;build(){Column({space:10}){Text(签收记录).fontSize(17).fontWeight(FontWeight.Bold).fontColor(#111827)Row(){Text(已到件数).fontSize(12).fontColor(#64748B)Blank()Text(${Math.round(this.count)}份).fontSize(14).fontWeight(FontWeight.Medium).fontColor(#0F766E)}.width(100%)Slider({value:this.count,min:0,max:40,step:1}).selectedColor(#14B8A6).trackColor(#CCFBF1).blockColor(#0F766E).onChange((value:number)this.countvalue)TextArea({text:this.note,placeholder:签收说明}).height(86).backgroundColor(#F8FAFC).borderRadius(10).onChange((value:string)this.notevalue)}.width(100%).padding(16).backgroundColor(#FFFFFF).borderRadius(18)}}这组卡片分别展示文本输入和数值录入。资料页的技术重点不在颜色或排版而在同一组卡片在三种视图里都能继续编辑因此这些基础控件必须完整保留。三、卡片组二缺件提醒与批次打包ComponentV2struct CollectMissingCard{Localurgent:booleantrue;Localnote:string仍缺封面页、签章页和电子留档页。;build(){Column({space:10}){Text(缺件提醒).fontSize(17).fontWeight(FontWeight.Bold).fontColor(#111827)Row(){Text(是否加急).fontSize(12).fontColor(#64748B)Blank()Toggle({type:ToggleType.Switch,isOn:this.urgent}).selectedColor(#DC2626).onChange((value:boolean)this.urgentvalue)}.width(100%)TextArea({text:this.note,placeholder:缺件项目}).height(102).backgroundColor(#F8FAFC).borderRadius(10).onChange((value:string)this.notevalue)}.width(100%).padding(16).backgroundColor(#FFFFFF).borderRadius(18)}}ComponentV2struct CollectPackageCard{Localowner:string夏打包;Localnote:string按楼层顺序打包便于下午统一分发。;build(){Column({space:10}){Text(批次打包).fontSize(17).fontWeight(FontWeight.Bold).fontColor(#111827)TextInput({text:this.owner,placeholder:打包负责人}).backgroundColor(#F8FAFC).borderRadius(10).onChange((value:string)this.ownervalue)TextArea({text:this.note,placeholder:打包说明}).height(86).backgroundColor(#F8FAFC).borderRadius(10).onChange((value:string)this.notevalue)}.width(100%).padding(16).backgroundColor(#FFFFFF).borderRadius(18)}}第二组卡片把缺件和打包流程拆开分别用Toggle、TextInput和TextArea表达。文章在这里要强调的是布局模式变化不应该影响字段归属缺件就应该永远留在缺件卡里。四、卡片组三回传校验与三模式按钮ComponentV2struct CollectVerifyCard{Localdone:booleanfalse;Localnote:string回传校验前先检查页码、顺序和签章完整度。;build(){Column({space:10}){Text(回传校验).fontSize(17).fontWeight(FontWeight.Bold).fontColor(#111827)Row(){Text(是否完成).fontSize(12).fontColor(#64748B)Blank()Toggle({type:ToggleType.Switch,isOn:this.done}).selectedColor(#2563EB).onChange((value:boolean)this.donevalue)}.width(100%)TextArea({text:this.note,placeholder:校验说明}).height(102).backgroundColor(#F8FAFC).borderRadius(10).onChange((value:string)this.notevalue)}.width(100%).padding(16).backgroundColor(#FFFFFF).borderRadius(18)}}Row({space:8}){Button(单列).height(36).backgroundColor(this.currentMode单列?#111827:#E5E7EB).fontColor(this.currentMode单列?#FFFFFF:#334155).onClick(()this.switchToSingle())Button(双列).height(36).backgroundColor(this.currentMode双列?#111827:#E5E7EB).fontColor(this.currentMode双列?#FFFFFF:#334155).onClick(()this.switchToDouble())Button(三列).height(36).backgroundColor(this.currentMode三列?#111827:#E5E7EB).fontColor(this.currentMode三列?#FFFFFF:#334155).onClick(()this.switchToTriple())}.width(100%).padding({left:16,right:16,bottom:10})Scroll(){DynamicLayout(this.layoutAlgorithm){CollectNoticeCard()CollectReceiveCard()CollectMissingCard()CollectPackageCard()CollectVerifyCard()}.width(100%).padding({left:16,right:16,bottom:24})}最后一组代码把第五张卡和按钮区放在一起。这样写的原因很直接资料页的真正交互闭环就是“切模式 → 看卡片排布 → 继续改卡片内容”所以按钮区和DynamicLayout挂载关系必须一起交代。五、卡片绑定对照表卡片或区域主要控件状态字段页面作用征集通知TextInput / TextAreatitle / note通知标题与发送范围签收记录Slider / TextAreacount / note件数与签收说明缺件提醒Toggle / TextAreaurgent / note缺件与加急批次打包TextInput / TextAreaowner / note打包负责人和说明回传校验Toggle / TextAreadone / note校验完成状态六、本篇小结第二篇把五张资料卡完整展开目的是证明这页不是“切个列数给你看”而是同一组可编辑卡片在不同信息密度下都能工作。

关于恒美微站

恒美微站专注于为个体商户、工作室提供极简自助建站服务,让每个人都能轻松拥有专业网站。

快速链接

  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心

服务项目

  • 可视化建站
  • 拖拽编辑
  • 主题定制
  • SEO 优化
  • 网站托管

联系方式

  • 📍 地址:北京市朝阳区建国路 88 号
  • 📞 电话:400-888-8888
  • ✉️ 邮箱:info@hmyw.cn
  • 🕐 时间:周一至周日 9:00-18:00

© 2024 恒美微站 hmyw.cn 版权所有 | 京 ICP 备 12345678 号