更新记录

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-iconsuni-easyinputuni-paginationuni-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。

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

许可协议

Copyright (c) 2026 CaDt-OraSkyC cadt-ui is licensed under Mulan PSL v2. You can use this software according to the terms and conditions of the Mulan PSL v2. You may obtain a copy of Mulan PSL v2 at: http://license.coscl.org.cn/MulanPSL2 THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE. See the Mulan PSL v2 for more details.

=======================================================================

木兰宽松许可证, 第2版

2020年1月 http://license.coscl.org.cn/MulanPSL2

您对“软件”的复制、使用、修改及分发受木兰宽松许可证,第2版(“本许可证”)的如下条款的约束:

  1. 定义

“软件” 是指由“贡献”构成的许可在“本许可证”下的程序和相关文档的集合。

“贡献” 是指由任一“贡献者”许可在“本许可证”下的受版权法保护的作品。

“贡献者” 是指将受版权法保护的作品许可在“本许可证”下的自然人或“法人实体”。

“法人实体” 是指提交贡献的机构及其“关联实体”。

“关联实体” 是指,对“本许可证”下的行为方而言,控制、受控制或与其共同受控制的机构,此处的控制是指有受控方或共同受控方至少50%直接或间接的投票权、资金或其他有价证券。

  1. 授予版权许可

每个“贡献者”根据“本许可证”授予您永久性的、全球性的、免费的、非独占的、不可撤销的版权许可,您可以复制、使用、修改、分发其“贡献”,不论修改与否。

  1. 授予专利许可

每个“贡献者”根据“本许可证”授予您永久性的、全球性的、免费的、非独占的、不可撤销的(根据本条规定撤销除外)专利许可,供您制造、委托制造、使用、许诺销售、销售、进口其“贡献”或以其他方式转移其“贡献”。前述专利许可仅限于“贡献者”现在或将来拥有或控制的其“贡献”本身或其“贡献”与许可“贡献”时的“软件”结合而将必然会侵犯的专利权利要求,不包括对“贡献”的修改或包含“贡献”的其他结合。如果您或您的“关联实体”直接或间接地,就“软件”或其中的“贡献”对任何人发起专利侵权诉讼(包括反诉或交叉诉讼)或其他专利维权行动,指控其侵犯专利权,则“本许可证”授予您对“软件”的专利许可自您提起诉讼或发起维权行动之日终止。

  1. 无商标许可

“本许可证”不提供对“贡献者”的商品名称、商标、服务标志或产品名称的商标许可,但您为满足第4条规定的声明义务而必须使用除外。

  1. 分发限制

您可以在任何媒介中将“软件”以源程序形式或可执行形式重新分发,不论修改与否,但您必须向接收者提供“本许可证”的副本,并保留“软件”中的版权、商标、专利及免责声明。

  1. 免责声明与责任限制

“软件”及其中的“贡献”在提供时不带任何明示或默示的担保。在任何情况下,“贡献者”或版权所有者不对任何人因使用“软件”或其中的“贡献”而引发的任何直接或间接损失承担责任,不论因何种原因导致或者基于何种法律理论,即使其曾被建议有此种损失的可能性。

  1. 语言

“本许可证”以中英文双语表述,中英文版本具有同等法律效力。如果中英文版本存在任何冲突不一致,以中文版为准。

条款结束

=======================================================================

Mulan Permissive Software License,Version 2 (Mulan PSL v2)

January 2020 http://license.coscl.org.cn/MulanPSL2

Your reproduction, use, modification and distribution of the Software shall be subject to Mulan PSL v2 (this License) with the following terms and conditions:

  1. Definition

Software means the program and related documents which are licensed under this License and comprise all Contribution(s).

Contribution means the copyrightable work licensed by a particular Contributor under this License.

Contributor means the Individual or Legal Entity who licenses its copyrightable work under this License.

Legal Entity means the entity making a Contribution and all its Affiliates.

Affiliates means entities that control, are controlled by, or are under common control with the acting entity under this License, ‘control’ means direct or indirect ownership of at least fifty percent (50%) of the voting power, capital or other securities of controlled or commonly controlled entity.

  1. Grant of Copyright License

Subject to the terms and conditions of this License, each Contributor hereby grants to you a perpetual, worldwide, royalty-free, non-exclusive, irrevocable copyright license to reproduce, use, modify, or distribute its Contribution, with modification or not.

  1. Grant of Patent License

Subject to the terms and conditions of this License, each Contributor hereby grants to you a perpetual, worldwide, royalty-free, non-exclusive, irrevocable (except for revocation under this Section) patent license to make, have made, use, offer for sale, sell, import or otherwise transfer its Contribution, where such patent license is only limited to the patent claims owned or controlled by such Contributor now or in future which will be necessarily infringed by its Contribution alone, or by combination of the Contribution with the Software to which the Contribution was contributed. The patent license shall not apply to any modification of the Contribution, and any other combination which includes the Contribution. If you or your Affiliates directly or indirectly institute patent litigation (including a cross claim or counterclaim in a litigation) or other patent enforcement activities against any individual or entity by alleging that the Software or any Contribution in it infringes patents, then any patent license granted to you under this License for the Software shall terminate as of the date such litigation or activity is filed or taken.

  1. No Trademark License

No trademark license is granted to use the trade names, trademarks, service marks, or product names of Contributor, except as required to fulfill notice requirements in section 4.

  1. Distribution Restriction

You may distribute the Software in any medium with or without modification, whether in source or executable forms, provided that you provide recipients with a copy of this License and retain copyright, patent, trademark and disclaimer statements in the Software.

  1. Disclaimer of Warranty and Limitation of Liability

THE SOFTWARE AND CONTRIBUTION IN IT ARE PROVIDED WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED. IN NO EVENT SHALL ANY CONTRIBUTOR OR COPYRIGHT HOLDER BE LIABLE TO YOU FOR ANY DAMAGES, INCLUDING, BUT NOT LIMITED TO ANY DIRECT, OR INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING FROM YOUR USE OR INABILITY TO USE THE SOFTWARE OR THE CONTRIBUTION IN IT, NO MATTER HOW IT’S CAUSED OR BASED ON WHICH LEGAL THEORY, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

  1. Language

THIS LICENSE IS WRITTEN IN BOTH CHINESE AND ENGLISH, AND THE CHINESE VERSION AND ENGLISH VERSION SHALL HAVE THE SAME LEGAL EFFECT. IN THE CASE OF DIVERGENCE BETWEEN THE CHINESE AND ENGLISH VERSIONS, THE CHINESE VERSION SHALL PREVAIL.

END OF THE TERMS AND CONDITIONS

暂无用户评论。