更新记录
0.1.0(2026-09-14) 下载此版本
首个发布版本。
提供 13 个面向 uni-app Vue3(App-vue / H5)的 easycom 组件:
- 弹层与选择器:cadt-modal、cadt-select、cadt-picker、cadt-combox、cadt-text-picker、cadt-table-selector、cadt-tag-table、cadt-cascader
- 表单与导航:cadt-header、cadt-number-box、cadt-lockable-field、cadt-step
- 信息展示:cadt-card
配套公共能力:自绘弹层返回键栈 common/overlay-stack.js 与页面接入用 useOverlayBackPress()、轻量防抖 common/debounce.js。
平台兼容性
uni-app(5.07)
| Vue2 | Vue3 | Vue3插件版本 | Chrome | Chrome插件版本 | Safari | Safari插件版本 | app-vue | app-vue插件版本 | app-nvue | Android | Android插件版本 | iOS | 鸿蒙 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| × | √ | 0.1.0 | √ | 0.1.0 | √ | 0.1.0 | √ | 0.1.0 | × | 5.0 | 0.1.0 | - | - |
| 微信小程序 | 支付宝小程序 | 抖音小程序 | 百度小程序 | 快手小程序 | 京东小程序 | 鸿蒙元服务 | QQ小程序 | 飞书小程序 | 小红书小程序 | 快应用-华为 | 快应用-联盟 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| - | - | - | - | - | - | - | - | - | - | - | - |
uni-app x(5.24)
| Chrome | Safari | Android | iOS | 鸿蒙 | 微信小程序 |
|---|---|---|---|---|---|
| - | - | - | - | - | - |
其他
| 多语言 | 暗黑模式 | 宽屏模式 |
|---|---|---|
| × | √ | × |
cadt-ui
面向 uni-app Vue3(App-vue / H5)的通用组件库,为 PDA / 小屏手持设备场景打磨:弹层、选择器、表单控件与信息展示。组件遵循 easycom 规范,安装后直接使用 <cadt-*> 标签,无需 import、无需注册。
本库为普通 uni-app(Vue3,
.vue)版本,不支持 Vue2 / nvue;不含 uni-app x(.uvue)版本。
特性
- 一个
uni_modules多组件包,按需 easycom 自动引入,未使用的组件不打包。 - 选择器全家桶:单选/多选弹层、弹层选择器、可输入下拉、分页表格选择、标签表格、多级钻取。
- 自绘 fixed 遮罩弹层,支持「物理返回先关弹层」与
backClosable=false拦截返回。 - 不依赖任何业务接口 / store / 全局配置,可直接放进任意 uni-app Vue3 工程。
平台兼容
| 平台 | 支持 |
|---|---|
| App-vue(Android / iOS webview) | √ |
| H5(Chrome / Safari 等现代浏览器) | √ |
| Vue2 | × |
| nvue | × |
| 各小程序 | 未验证 |
组件面向 PDA 竖屏设计与实测,小程序平台未做兼容验证,不建议直接用于小程序生产环境。
安装
在 DCloud 插件市场 打开本插件,点击「使用 HBuilderX 导入插件」,选择你的 uni-app Vue3 工程即可。依赖的 uni-icons、uni-easyinput、uni-pagination、uni-load-more 会随 uni_modules 依赖自动安装。
要求 HBuilderX 3.6.0 及以上。
主题变量(必看)
组件的颜色、圆角、控件高度通过 CSS 变量取值。请在 App.vue 引入随包提供的默认浅色主题,否则这些变量无定义、配色会失效:
<style>
@import '@/uni_modules/candysweet-cadt-ui/common/theme.css';
</style>
也可以不引入,而在你自己的全局样式中按需重写同名变量做品牌定制(如 --color-primary、--color-border、--field-height 等,完整清单见 common/theme.css)。
快速上手
<template>
<!-- 弹层选择器:触发框 + 底部选项弹层,v-model 绑定选中值 -->
<cadt-picker
v-model="value"
:localdata="options"
placeholder="请选择"
popup-title="请选择"
/>
<!-- 确认弹层 -->
<cadt-modal v-model:show="modalShow" title="提示" content="确认执行此操作?" @confirm="onConfirm" />
<!-- 数字步进 -->
<cadt-number-box v-model="count" :min="0" :max="99" />
<button @tap="modalShow = true">打开确认框</button>
</template>
<script setup>
import {ref} from 'vue'
const value = ref(null)
const modalShow = ref(false)
const count = ref(1)
// 选项为 {text, value}(也支持原始类型数组)
const options = ref([
{text: '选项一', value: 1},
{text: '选项二', value: 2},
])
const onConfirm = () => { modalShow.value = false }
</script>
需要更底层的多选/搜索/分组/全选能力时,可直接使用引擎组件
<cadt-select>(:show+:selected-ids+:options,选项为{id, title});<cadt-picker>即在其之上封装的触发框形态。
物理返回键接入(重要)
普通 uni-app 中只有页面能注册 onBackPress,组件内注册不生效。若希望「打开 cadt-modal / cadt-select 时按物理返回先关弹层、backClosable=false 时拦截返回」,在使用弹层的页面里调用一次:
import {useOverlayBackPress} from '@/uni_modules/candysweet-cadt-ui/common/use-overlay-backpress'
// 页面 setup 中
useOverlayBackPress()
不接入不影响弹层的正常打开与关闭(点遮罩 / 取消 / 确定均可关闭),仅物理返回不会优先关闭弹层。
组件清单
| 标签 | 说明 | 文档 |
|---|---|---|
<cadt-header> |
导航头:返回、标题插槽、右侧文字/图标操作、防抖 | README |
<cadt-modal> |
自绘遮罩确认弹层,支持拦截物理返回、危险色、异步确认 | README |
<cadt-select> |
选项弹层引擎:单选/多选、搜索、分组、全选、分批渲染 | — |
<cadt-picker> |
弹层选择器:触发框 + 选中值翻译,单/多选 | — |
<cadt-combox> |
可输入联想下拉(包含匹配、候选弹层) | — |
<cadt-text-picker> |
可手工输入也可选择的文本选择器 | — |
<cadt-table-selector> |
分页表格选择器(远程 fetchData、搜索、翻页) |
— |
<cadt-tag-table> |
标签式已选值表格,弹层内管理选择 | — |
<cadt-cascader> |
多级 drill-down 抽屉选择器,中间级单击前进、末级多选 | — |
<cadt-card> |
只读数据卡:多字段按宽度排版、字典/格式化 | README |
<cadt-number-box> |
数字步进输入:min/max/step、精度、单位 | README |
<cadt-step> |
步骤条:状态语义色、作用域详情插槽、重试 | README |
<cadt-lockable-field> |
可锁定/忙碌的字段行,含删除动作 | README |
标注「—」的组件暂无独立 README,可参考示例工程
pages/demo/index.vue与组件源码顶部的 props 定义。
目录结构
candysweet-cadt-ui/
├─ components/cadt-*/ 13 个 easycom 组件
├─ common/ 组件公共能力(无项目依赖)
│ ├─ theme.css 默认浅色主题变量(需在 App.vue 引入)
│ ├─ overlay-stack.js 自绘弹层返回键栈
│ ├─ use-overlay-backpress.js 页面接入返回键的 composable
│ └─ debounce.js 轻量防抖
└─ package.json
License
木兰宽松许可证 第2版(Mulan PSL v2),Copyright © 2026 CaDt-OraSkyC。

收藏人数:
下载插件并导入HBuilderX
下载示例项目ZIP
赞赏(0)
下载 0
赞赏 0
下载 12598024
赞赏 1949
赞赏
京公网安备:11010802035340号