官方网站

https://ibestui.ibestservices.com/

IBest-UI

轻量、可定制的 HarmonyOS NEXT 组件库

文档   ·   三方库中心仓


介绍

IBest-UI由 安徽百得思维信息科技有限公司
开源,是一个轻量、简单易用、可定制主题、支持深色模式和浅色模式的鸿蒙开源UI组件库, 包含 Button、Calendar、Form、Field、Picker、Popup、Toast、Dialog、ImageCropper 等50+个优质组件,上手简单,使用方便,可大大提高鸿蒙开发者的开发效率。

目前 ibestservices 官方 提供了 V1V2 版本, 当前为状态管理 V1 版本,开发者可根据自己项目使用的状态管理版本选择对应的版本进行开发。

特性

  • 🚀 50+ 个高质量组件,覆盖移动端主流场景
  • 💪 单元测试覆盖率超过 90%,提供稳定性保障
  • 📖 提供丰富的中文文档和组件示例
  • 🍭 支持主题定制,内置 100+ 个主题变量
  • 🍭 支持元服务
  • 🍭 支持深色模式
  • 🌍 支持国际化

体验预览

升级到 HarmonyOS NEXT 的手机, 可在应用商店搜索 bestibest 关键字, 下载第一个名为 IBest-UI 的应用, 即可体验。

下载安装

ohpm install @ibestservices/ibest-ui

OpenHarmony ohpm 环境配置等更多内容,请参考如何安装 OpenHarmony ohpm 包

组件介绍

基础组件

组件 介绍
Button 按钮 按钮用于触发一个操作,如提交表单。 文档
Cell 单元格 单元格为列表中的单个展示项。 文档
Icon 图标 基于字体的图标集,可以通过 IBestIcon 组件使用。 文档
Popup 弹出层 弹出层容器,用于展示弹窗、信息提示等内容,支持多个弹出层叠加展示。 文档
Toast 轻提示 在页面中间弹出黑色半透明提示,用于消息通知、加载提示、操作结果提示等场景。 文档

表单组件

组件 介绍
Calendar 日历 日历用于选择单个、多个日期或日期范围。 文档
CarInput 车牌输入框 用于输入车牌号码。 文档
CarKeyboard 车牌键盘 带网格的输入框组件,通常与车牌输入框组件或其它自定义输入框配合使用。 文档
Cascader 级联选择器 级联选择框,用于多层级数据的选择,典型场景为省市区选择。 文档
Checkbox 复选框 在一组备选项中进行多选。 文档
DatePicker 日期选择 日期选择器,用于选择年、月、日,通常与弹出层组件配合使用。 文档
DateTimePicker 日期时间选择 日期时间选择器,用于选择年、月、日、时、分、秒,通常与弹出层组件配合使用。 文档
Field 输入框 用户可以在文本框内输入或编辑文字。 文档
Form 表单 用于数据录入、校验,支持输入框、单选框、复选框、文件上传等类型,需要与 Field 输入框 组件搭配使用。 文档
NumberKeyboard 数字键盘 虚拟数字键盘,可以配合密码输入框组件或自定义的输入框组件使用。 文档
PasswordInput 密码输入框 带网格的输入框组件,可以用于输入密码、短信验证码等场景,通常与数字键盘组件配合使用。 文档
Picker 选择器 提供多个选项集合供用户选择,支持单列选择、多列选择和级联选择,通常与弹出层组件配合使用。 文档
PickerGroup 选择器组 用于结合多个 Picker 选择器组件,在一次交互中完成多个值的选择。 文档
Radio 单选框 在一组备选项中进行单选。 文档
Rate 评分 用于对事物进行评级操作。 文档
Search 搜索 用于搜索场景的输入框组件。 文档
Slider 滑块 滑动输入条,用于在给定的范围内选择一个值。 文档
Signature 签名 用于签名场景的组件,基于 Canvas 实现。 文档
Stepper 步进器 步进器由增加按钮、减少按钮和输入框组成,用于在一定范围内输入、调整数字。 文档
Switch 开关 用于在打开和关闭状态之间进行切换。 文档
TimePicker 时间选择 日期选择器,用于选择年、月、日,通常与弹出层组件配合使用。 文档
Uploader 文件上传 用于将本地的图片或文件上传至服务器,并在上传过程中展示预览图和上传状态。目前 Uploader 组件不包含将文件上传至服务器的接口逻辑,该步骤需要自行实现。 文档

反馈组件

组件 介绍
ActionSheet 动作面板 底部弹起的模态面板,包含与当前情境相关的多个选项。 文档
Dialog 弹出框 弹出模态框,常用于消息提示、消息确认,或在当前页面内完成特定的交互操作。支持组件调用和函数调用两种方式。 文档
DropdownMenu 下拉菜单 向下弹出的菜单列表。 文档
FloatBubble 浮动气泡 悬浮在页面边缘的可点击气泡。 文档
Guide 引导 分步引导用户了解产品功能的气泡组件,用来引导用户并介绍产品。 文档
Loading 加载 加载图标,用于表示加载中的过渡状态。 文档
Notify 消息提示 在页面顶部展示消息提示。 文档
PullRefresh 下拉刷新 轻量级, 用于提供下拉刷新的交互操作。 文档
SwipeCell 滑动单元格 可以左右滑动来展示操作按钮的单元格组件。 文档

展示组件

组件 介绍
Badge 徽标 在右上角展示徽标数字或小红点。 文档
CircleProgress 环形进度条 圆环形的进度条组件。 文档
Collapse 折叠面板 将一组内容放置在多个折叠面板中,点击面板的标题可以展开或收缩其内容。 文档
CountDown 倒计时 用于实时展示倒计时数值,支持毫秒精度。 文档
CountTo 数字滚动 用于需要滚动数字到某一个值的场景,目标要求是一个递增的值。 文档
Divider 分割线 用于将内容分隔为多个区域。 文档
Empty 空状态 空状态时的占位提示。 文档
Highlight 高亮文本 高亮指定文本内容。 文档
ImagePreview 图片预览 图片放大预览。 文档
NoticeBar 通知栏 用于循环播放展示一组消息通知。 文档
Popover 气泡弹出框 弹出式的气泡菜单。 文档
Progress 进度条 用于展示操作的当前进度。 文档
Skeleton 骨架屏 用于在内容加载过程中展示一组占位图形。 文档
Steps 步骤条 用于展示操作流程的各个环节,让用户了解当前的操作在整体流程中的位置。 文档
Table 表格 用于展示多条结构类似的数据。 文档
Tag 标签 用于标记关键词和概括主要内容。 文档
TextEllipsis 文本省略 对长文本进行省略,支持展开/收起。 文档
Watermark 水印 在页面上添加特定的文字或图案作为水印,可用于防止信息盗用。 文档

导航组件

组件 介绍
NavBar 导航栏 为页面提供导航功能,常用于页面顶部。 文档
Pagination 分页 数据量过多时,采用分页的形式将数据分隔,每次只加载一个页面。 文档
SideBar 侧边导航 垂直展示的导航栏,用于在不同的内容区域之间进行切换。 文档
Tab 标签页 选项卡组件,用于在不同的内容区域之间进行切换。 文档

业务组件

组件 介绍
CanvasDrawer 画布绘制 用于绘制海报、图片加水印等场景。 文档
ColorPicker 颜色选择 用于选择颜色。 文档
ImageCropper 图片裁剪 用于裁剪图片。 文档

需要权限

ohos.permission.INTERNET

官方生态

项目 描述
@ibestservices/area-data 中国省市区数据,适用于鸿蒙 ArkUI 的 TextPicker 和 IBest-UI 的 IBestCascader 等组件。 地址

链接

交流QQ群

官方QQ群 953492584

QQ1群

微信群

添加IBest-UI助手, 备注 “鸿蒙开发”
微信群

约束与限制

在下述版本验证通过:

DevEco Studio 5.0.5 Release
Build #DS-233.14475.28.36.5013200
构建版本:5.0.13.200, built on May 13, 2025
Runtime version: 17.0.12+1-b1087.25 x86_64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o.
macOS 15.4.1
GC: G1 Young Generation, G1 Old Generation
Memory: 2048M
Cores: 12
Metal Rendering is ON
Registry:
  idea.plugins.compatible.build=IC-233.14475.28
Non-Bundled Plugins:
  com.alibabacloud.intellij.cosy (2.5.2)
  com.huawei.agc.ecomarket.component.plugin (233.14475.28)
  com.harmonyos.cases (1.0.10-Alpha)

开源协议

本项目基于 Apache License 2.0,请自由地享受和参与开源。

贡献者

感谢以下同学对IBest-UI做的贡献:

Logo

讨论HarmonyOS开发技术,专注于API与组件、DevEco Studio、测试、元服务和应用上架分发等。

更多推荐