当前位置: 首页 > news >正文

HarmonyOS 6 Counter组件使用示例文档

文章目录

    • 组件概述
    • 核心能力
      • 1. 组件接口
      • 2. 关键属性(API 10+)
      • 3. 关键事件
    • 示例代码功能说明
    • 代码逐段解释
      • 1. 状态定义
      • 2. 第一个 Counter(默认完整功能)
      • 3. 第二个 Counter(禁用减号按钮)
      • 4. 布局配置
    • 运行效果
    • 总结

组件概述

Counter 是 HarmonyOS 基础计数器组件,自带「+」「-」操作按钮,支持数值增减、按钮使能控制与事件监听,广泛用于商品数量、评分、次数统计等场景。

核心能力

1. 组件接口

Counter()
  • 无参构造,默认提供左右加减按钮。
  • 内部可嵌套子组件(通常为 Text 显示当前数值)。

2. 关键属性(API 10+)

属性名类型默认值作用
enableIncbooleantrue控制「+ 增加按钮」是否可用
enableDecbooleantrue控制「- 减少按钮」是否可用

3. 关键事件

事件名回调触发时机
onInc() => void点击 + 按钮时触发
onDec() => void点击 - 按钮时触发

示例代码功能说明

示例实现两组计数器:

  1. 第一组 Counter:完全默认,加减按钮均可用,点击±修改数值。
  2. 第二组 Counter:禁用减号按钮(enableDec(false)),只能加不能减。

代码逐段解释

1. 状态定义

@Statevalue1:number=0;@Statevalue2:number=0;
  • 使用@State定义响应式数值,变化时自动刷新 UI。
  • 分别绑定两个 Counter 显示。

2. 第一个 Counter(默认完整功能)

Counter(){Text(this.value1.toString())}.onInc(()=>{this.value1++;}).onDec(()=>{this.value1--;})
  • 内部嵌套Text显示当前计数。
  • onInc:点击 + 数值 +1。
  • onDec:点击 - 数值 -1。

3. 第二个 Counter(禁用减号按钮)

Counter(){Text(this.value2.toString())}.onInc(()=>{this.value2++;}).onDec(()=>{this.value2--;}).enableInc(true).enableDec(false)
  • enableInc(true):加号按钮可用(默认可省略)。
  • enableDec(false)减号按钮禁用置灰,无法点击
  • 点击减号不会触发onDec,数值不会减少。

4. 布局配置

Column({space:50}).width('100%').height('100%').justifyContent(FlexAlign.Center)
  • 垂直居中布局,两个 Counter 间距 50vp。

运行效果

  1. 第一个计数器:+ / - 按钮均可点击,数值可增可减。
  2. 第二个计数器:- 按钮置灰禁用,只能点击 + 增加数值。
    运行如图:

总结

  1. 必须嵌套子组件
    Counter 本身不显示数值,内部必须放 Text 等组件展示数字。

  2. 按钮控制逻辑

    • enableInc(false):禁用加号。
    • enableDec(false):禁用减号。
    • 常用于限制最小值(如数量不能 < 0)或最大值。
  3. 事件必须绑定
    点击按钮不会自动改数值,必须在onInc / onDec里手动更新@State变量。

  4. 适用场景

    • 商品购买数量选择
    • 打卡/签到次数统计
    • 评分、数量调整
    • 表单内数字输入

如果这篇文章对你有帮助,欢迎点赞、收藏、关注,你的支持是持续创作的动力

http://www.jsqmd.com/news/711110/

相关文章:

  • GitHub Actions自动化工作流实战:从CI/CD到容器化部署
  • 2026年4月温州日记本五金配件优质源头厂家综合** - 2026年企业推荐榜
  • OMR转换时间时区后返回
  • ROC与PR曲线:解决分类模型评估中的类别不平衡问题
  • 《100个“反常识”经验12:死锁日志怎么看?》
  • Python AI原生应用推理加速实战手册(PyTorch 2.4 + Inductor + vLLM深度调优全图谱)
  • 掌握this关键字
  • 物理AI推动人机协作迈向新阶段研究报告凯捷 2026_01
  • Windows Cleaner终极指南:三步解决C盘爆满与系统卡顿问题
  • 为什么92%的开发者配不稳Copilot Next自动化流?——源自Microsoft官方仓库commit日志的3大隐藏约束解析
  • 论文降重新纪元:书匠策AI,一键解锁学术纯净秘籍
  • CVPR2023 RIDCP论文精读:除了SOTA结果,它的‘可控先验匹配’设计思路能给你的项目什么启发?
  • Python自动化抢票终极指南:告别手速焦虑,3步轻松搞定大麦网热门演出
  • 云顶之弈悬浮辅助工具TFT Overlay:三步提升你的战术决策效率
  • AGV双锂电池系统厂家推荐(双电池/换电系统方案解析)【浩博电池】
  • 论文“瘦身”新秘籍:书匠策AI,一键解锁降重降AIGC新境界
  • Kaimon.jl:基于MCP协议实现AI助手与Julia运行时的深度集成
  • 常用16进制转换
  • 深度强化学习实战:从DQN到A3C,拆解智能体决策引擎核心原理
  • 抖音批量下载完整指南:快速掌握高效下载技巧
  • 《每日一命令12:kill——不只是杀进程这么简单》
  • 机器人双电池厂家推荐(双电池/热插拔系统解决方案)【浩博电池】
  • 医学影像报告自动生成技术:临床对比解码(CCD)详解
  • AI 系统的“可预测性”:我们真的能信任 AI 吗?
  • AutoHideCursor:自动隐藏鼠标光标,打造无干扰桌面工作环境
  • Windows任务栏透明美化终极指南:5分钟让桌面焕然一新的简单教程
  • Docker AI Toolkit 2026安装失败率下降87%的秘密:4类典型报错诊断树+自动修复脚本(限前500名领取)
  • 2026 最新 ReAct 框架详解!搞懂 AI Agent 核心底层原理,小白也能学明白
  • 抖音音频批量下载终极指南:免费开源工具让音乐收集效率提升90%
  • STM32按键控制LED避坑指南:从GPIO模式选择到消抖代码的常见误区