更新记录
2.0.2(2026-10-31)
- 修复鸿蒙上 Chart、BarChart、LineChart、RingChart 与 Signature 画布空白:HBuilderX 5.07 的鸿蒙运行时不会把
<canvas>的宽高样式传给原生 Canvas,组件内部改为显式设置画布尺寸;其他平台行为不变,对外接口不变。 - 鸿蒙平台标记为已验证:在华为手机(API 26)上逐项运行全部组件演示。
- 设置普通授权与源码授权售价。
平台兼容性
uni-app x(5.07)
| Chrome | Safari | Android | iOS | 鸿蒙 | 微信小程序 |
|---|---|---|---|---|---|
| √ | - | √ | √ | √ | √ |
uvx-frame-ui
基于 uni-app x 的跨平台 UI 组件库,面向 Android、iOS、鸿蒙、微信小程序和 Web 设计。组件的属性、事件、插槽和 v-model 用法与 Element Plus 对齐;视觉采用 frame 自有的设计令牌(libs/theme.uts)。从 1.x 升级请阅读 changelog.md 中的迁移说明。
安装
- 在插件市场将本插件导入 uni-app x 项目,插件位于
uni_modules/uvx-frame-ui/。要求 HBuilderX 5.07 及以上。 - 导入时 HBuilderX 会提示合并
pages_init.json,请确认。它注册了组件库的外链页面uni_modules/uvx-frame-ui/pages/link/link(App 中打开外部 http(s) 链接时使用)。如果没有合并,请在项目pages.json的pages中手动添加:
{ "path": "uni_modules/uvx-frame-ui/pages/link/link", "style": { "navigationBarTitleText": "" } }
组件通过 easycom 自动引入,无需 import 和注册。
快速上手
<template>
<uvx-frame-input v-model="name" placeholder="请输入姓名" clearable />
<uvx-frame-button label="提交" type="primary" @click="submit" />
<uvx-frame-message ref="messageRef" />
</template>
<script setup lang="uts">
const name = ref('')
const messageRef = ref<UvxFrameMessageComponentPublicInstance | null>(null)
function submit() {
messageRef.value?.$callMethod('success', '你好,' + name.value)
}
</script>
组件的公开方法在 App 端通过 $callMethod 调用。类型与公共工具统一从插件根目录导入,收费加密版不支持调用方直接引入内部文件:
import { UvxFrameFormRule, UvxFrameTabItem, UvxFrameStep } from '@/uni_modules/uvx-frame-ui'
组件列表
| 组件 | 标签 | 说明 |
|---|---|---|
| 基础 | ||
| Button 按钮 | uvx-frame-button |
常用的操作按钮,类型、尺寸和状态与 Element Plus Button 一致。 |
| Icon 图标 | uvx-frame-icon |
组件库自绘图标与 Remix Icon(Apache-2.0)共 3000 余个,name 指定图标;点击图标复制名称。 |
| Text 文本 | uvx-frame-text |
文本组件,type、size、truncated、line-clamp 与 Element Plus Text 一致,并扩展了常用格式化。 |
| Layout 布局 | uvx-frame-row、uvx-frame-col |
Row 与 Col 组成 24 栅格布局,接口与 Element Plus Layout 一致。 |
| Image 图片 | uvx-frame-image |
图片容器,fit、lazy、preview-src-list 与 Element Plus Image 一致,并保留移动端尺寸与圆角扩展。 |
| RichText 富文本 | uvx-frame-richtext |
渲染 HTML 字符串或节点数组,支持常用文字样式、图片和链接。 |
| Cell 单元格 | uvx-frame-cell |
列表中的单行信息,常用于设置页和详情页。图标显示在浅色圆角底块中,分隔线与文字左对齐。 |
| Divider 分割线 | uvx-frame-divider |
支持水平、垂直、文字位置和虚线。 |
| Spacer 间距 | uvx-frame-spacer |
使用固定宽高留出布局空间。 |
| Transition 过渡动画 | uvx-frame-transition |
为元素的出现和消失添加动画,mode 提供淡入、缩放和四个方向的滑入效果。 |
| 表单 | ||
| Form 表单 | uvx-frame-form、uvx-frame-form-item |
与 Element Plus 相同的 model + rules + prop 用法,统一收集表单项并校验。 |
| Input 输入框 | uvx-frame-input |
单行输入框,属性、插槽和事件与 Element Plus Input 一致;type 额外支持移动端数字与证件键盘。 |
| Textarea 多行输入 | uvx-frame-textarea |
多行输入,对应 Element Plus Input 的 type="textarea",支持 rows、autosize 与字数统计。 |
| InputNumber 数字输入框 | uvx-frame-input-number |
仅允许输入标准数字,可设置范围、步长和精度,属性与 Element Plus InputNumber 一致。 |
| Radio 单选框 | uvx-frame-radio、uvx-frame-radio-group |
在一组选项中单选,Radio 与 RadioGroup 的用法同 Element Plus。 |
| Switch 开关 | uvx-frame-switch |
表示两种相互对立的状态,属性与 Element Plus Switch 一致。 |
| Slider 滑块 | uvx-frame-slider |
通过拖动滑块在范围内选择数值,属性与 Element Plus Slider 一致。 |
| Rate 评分 | uvx-frame-rate |
评分组件,max、allow-half、show-text、show-score 等属性与 Element Plus Rate 一致。 |
| Picker 滚轮选择器 | uvx-frame-picker |
移动端滚轮选择器,支持单列、多列与级联数据;触发框与 Element Plus Select 外观一致。 |
| DatePicker 日期选择器 | uvx-frame-date-picker |
选择日期或时间,type 取值与 Element Plus DatePicker 一致;面板在底部弹出。 |
| Calendar 日历 | uvx-frame-calendar |
日历面板,支持单选、多选、范围选择、日期范围限制和左右滑动翻月;lunar 显示农历。 |
| ColorPicker 取色器 | uvx-frame-color-picker |
颜色选择器,属性与 Element Plus ColorPicker 一致,面板在底部弹出。 |
| Upload 上传 | uvx-frame-upload |
选择图片或视频并上传,属性命名与 Element Plus Upload 一致(action、headers、data、limit、auto-upload)。 |
| Keyboard 虚拟键盘 | uvx-frame-keyboard |
在页面内弹出的虚拟键盘,提供数字、字母、计算器、安全和车牌五种布局,适合需要避开系统键盘的输入场景。 |
| 数据展示 | ||
| Table 表格 | uvx-frame-table |
支持横向滚动、斑马纹、边框和排序。 |
| Tree 树形控件 | uvx-frame-tree |
支持展开、节点选择、禁用和勾选。 |
| Tag 标签 | uvx-frame-tag |
支持主题、尺寸、圆角和关闭事件。 |
| Badge 徽章 | uvx-frame-badge |
支持数字上限、小圆点、颜色和偏移。 |
| Card 卡片 | uvx-frame-card |
支持标题、页脚、阴影与内容插槽。 |
| Collapse 折叠面板 | uvx-frame-collapse、uvx-frame-collapse-item |
支持展开多个面板和手风琴。 |
| Carousel 走马灯 | uvx-frame-carousel |
使用原生 swiper 展示可滑动的内容。 |
| Steps 步骤条 | uvx-frame-steps |
展示步骤进度与说明。 |
| Empty 空状态 | uvx-frame-empty |
支持自定义说明、图片和底部操作。 |
| Skeleton 骨架屏 | uvx-frame-skeleton |
数据加载时显示占位内容。 |
| Countdown 倒计时 | uvx-frame-countdown |
按目标时间倒计时,结束后触发 finish。 |
| CountTo 数字滚动 | uvx-frame-count-to |
支持起始值、精度和数字变化动画。 |
| QRCode 二维码 | uvx-frame-qrcode |
本地编码,支持 UTF-8 内容与颜色。 |
| NoticeBar 通知栏 | uvx-frame-notice-bar |
支持滚动、自定义颜色和关闭。 |
| ExpandText 展开文本 | uvx-frame-expand-text |
支持内容折叠与展开。 |
| Watermark 水印 | uvx-frame-watermark |
在内容上添加重复文字或图片水印。 |
| Chart 图表 | uvx-frame-chart |
使用标准 Canvas 绘制跨平台图表。 |
| BarChart 柱状图 | uvx-frame-bar-chart |
支持正负数、颜色和动态数据。 |
| LineChart 折线图 | uvx-frame-line-chart |
支持坐标轴、数据点和动态数据。 |
| RingChart 环形图 | uvx-frame-ring-chart |
支持图例、内径和动态数值。 |
| 导航 | ||
| Navbar 导航栏 | uvx-frame-navbar |
自定义导航栏,配合页面 navigationStyle: custom 使用;属性与插槽命名参照 Element Plus PageHeader。 |
| Tabbar 标签栏 | uvx-frame-tabbar |
应用底部的主导航,提供平铺、胶囊和悬浮三种外观,可在中间插入主操作按钮。 |
| Tabs 标签页 | uvx-frame-tabs、uvx-frame-tab-pane |
分隔内容上有关联但属于不同类别的数据集合,用法与 Element Plus Tabs 一致,并扩展了指示器样式与 items 数据驱动。 |
| SwipeTabs 滑动标签页 | uvx-frame-swipe-tabs |
联动标签导航与滑动页面。 |
| Anchor 锚点 | uvx-frame-tabs |
在长页面中快速定位,点击选项滚动到对应区域,滚动时同步高亮当前选项。 |
| Sidebar 侧边导航 | uvx-frame-sidebar |
纵向分类导航,常与右侧内容区联动;选中项以圆角底色突出显示。 |
| IndexBar 索引栏 | uvx-frame-indexbar、uvx-frame-indexbar-item |
按字母分组的长列表,点击或拖动右侧索引跳转,滚动时索引同步高亮。 |
| Dropdown 下拉菜单 | uvx-frame-dropdown |
将动作或菜单折叠到下拉菜单中,用法参照 Element Plus Dropdown;菜单项用 items 数组描述。 |
| Backtop 回到顶部 | uvx-frame-backtop |
页面滚动超过阈值时显示,支持自定义位置。 |
| 反馈 | ||
| Dialog 对话框 | uvx-frame-dialog |
在保留当前页面的情况下展示内容,属性、插槽和事件与 Element Plus Dialog 一致。 |
| MessageBox 消息弹框 | uvx-frame-message-box |
模拟系统的消息提示框,alert、confirm、prompt 及选项名称与 Element Plus MessageBox 一致。 |
| Message 消息提示 | uvx-frame-message |
操作后的轻量反馈,选项名与 Element Plus Message 一致;页面放置一个组件实例后调用方法。 |
| Drawer 抽屉 | uvx-frame-drawer |
支持从四个方向打开抽屉。 |
| ActionSheet 动作面板 | uvx-frame-action-sheet |
支持禁用、加载和自定义颜色。 |
| Overlay 遮罩层 | uvx-frame-overlay |
支持点击关闭和自定义遮罩内容。 |
| Loading 加载 | uvx-frame-loading |
支持横向、纵向、颜色和显隐状态。 |
| Tour 漫游引导 | uvx-frame-tour |
分步骤介绍页面,并高亮指定节点。 |
| SwipeAction 滑动操作 | uvx-frame-swipe-action |
向左滑动列表项以显示操作按钮。 |
| Fab 悬浮按钮 | uvx-frame-fab |
固定位置的快捷操作菜单。 |
| Popup 底部面板 | uvx-frame-popup |
底部弹出的面板容器,选择器、日期选择器、键盘和取色器基于它实现。 |
| 列表与容器 | ||
| Grid 宫格 | uvx-frame-grid |
支持列数、边框和自定义内容。 |
| List 列表 | uvx-frame-list |
支持限定高度、滚动与触底事件。 |
| ListView 列表视图 | uvx-frame-list-view |
Android / iOS 使用原生 list-view,其余平台使用虚拟列表适配。 |
| VirtualList 虚拟列表 | uvx-frame-virtual-list |
只渲染可视区域附近的数据,示例包含 10000 项。 |
| Waterfall 瀑布流 | uvx-frame-waterfall |
支持列数、间距和高度提示。 |
| PullRefresh 下拉刷新 | uvx-frame-pull-refresh |
使用标准 scroll-view 的刷新能力。 |
| LoadMore 加载更多 | uvx-frame-load-more |
支持加载中、完成、失败与重试。 |
| Chat 聊天列表 | uvx-frame-chat |
支持双向消息、头像和自动滚动。 |
| DragSort 拖拽排序 | uvx-frame-drag-sort |
长按后拖动排序,支持宫格、列表和删除。 |
| Movable 拖动区域 | uvx-frame-movable |
支持横向、纵向、禁用和边界限制。 |
| 视觉与绘制 | ||
| Shimmer 闪光 | uvx-frame-shimmer |
支持配置闪光动画时长和颜色。 |
| Glow 光晕 | uvx-frame-glow |
支持自定义颜色与呼吸效果。 |
| Flipbook 逐帧动画 | uvx-frame-flipbook |
按顺序播放本地或网络图片帧。 |
| SVG 矢量图 | uvx-frame-svg |
支持 SVG 资源与内联内容。 |
| Signature 签名板 | uvx-frame-signature |
触控绘制、撤销、清空和导出图片。 |
独立插件提供的组件
以下组件依赖完整引擎或图像处理能力,分别作为独立插件发布,按需安装,组件库本身不依赖它们:
| 组件 | 标签 | 所在插件 |
|---|---|---|
| ECharts 图表引擎 | uvx-frame-echarts |
uvx-frame-echarts |
| Lottie 动画 | uvx-frame-lottie |
uvx-frame-lottie |
| ImageFilter 图片滤镜 | uvx-frame-image-filter |
uvx-frame-imaging |
| PhotoCapture 拍照说明 | uvx-frame-photo-capture |
uvx-frame-imaging |
图标
uvx-frame-icon 内置组件库自绘图标及 Remix Icon 4.9.1 全部 3229 个图标,名称如 home-line、home-fill,可在 Remix Icon 官网 查找。与自绘图标重名时,加 ri- 前缀指定 Remix Icon,如 ri-close-fill。
<uvx-frame-icon name="home-line" :size="24" color="#5B4FE9" />
Remix Icon TTF 字体约 600KB。微信小程序使用组件内嵌的离线 WOFF,不依赖字体 CDN;两套字体的微信样式合计约 339KB。包体积紧张时可用 fontTools 按实际使用的图标裁剪 TTF,微信样式 uvx-frame-icon.mp.css 中内嵌的 WOFF 需同步更新。
平台兼容
| Android | iOS | 鸿蒙 | 微信小程序 | Web(Chrome) | Web(Safari) |
|---|---|---|---|---|---|
| 已验证 | 已验证 | 已验证 | 已验证 | 已验证 | 未验证 |
“已验证”指在 HBuilderX 5.07 下编译并在该平台实际运行过演示;“未验证”表示尚未完成该平台的发布前验证。部分模拟器结果另列于验证记录,使用前请按目标设备测试。
授权
付费插件,按 DCloud 插件市场付费插件标准协议授权;普通授权版与源码授权版均绑定购买时的 AppID 和包名。包含的第三方资源:
- Remix Icon 4.9.1(Apache-2.0):
components/uvx-frame-icon/uvx-frame-remixicon.ttf及微信样式中的派生 WOFF,许可证见licenses/remixicon-LICENSE.txt。

收藏人数:
购买源码授权版(
试用
赞赏(0)
下载 2
赞赏 0
下载 12730913
赞赏 1959
赞赏
京公网安备:11010802035340号