@qin-ui/pro-components-core

中文文档
2.1.2发布于 2026/11/02MITTypeScriptES Module零依赖

Core logic for pro-components

原始使用文档
文档目录6 节
  1. 简介
  2. 核心 API
  3. 使用示例
  4. 设计特点
  5. 技术栈
  6. License

@qin-ui/pro-components-core

Pro Components 的核心逻辑层,不绑定任何具体 UI 组件库。

简介

@qin-ui/pro-components-core 是 @qin-ui 系列组件库的公共逻辑底座,提供了 ProForm / ProTable 背后的状态管理与数据流实现,包括:

  • 表单数据管理(响应式数据、深层路径读写、批量更新)
  • 字段配置管理(增删改查、嵌套字段、查找函数)
  • 底层 Form 组件实例引用
  • 表格实例管理(列、数据源、分页、搜索表单集成)
  • 通用工具函数(getObject、camelizeProperties 等)

它本身不渲染任何 UI,而是与具体 UI 组件库配合使用:

UI 库对应组件包
antdv-next@qin-ui/antdv-next-pro
Ant Design Vue@qin-ui/antd-vue-pro
Element Plus@qin-ui/element-plus-pro
Vant@qin-ui/vant-pro

通常你不需要直接安装本包,安装上述任一组件包时会自动作为依赖引入。仅在需要复用其纯逻辑能力(脱离 UI 框架使用表单/字段管理)时才直接依赖。

核心 API

API类型说明
useFormHook创建表单实例,组合数据、字段、ref 三层能力
useTableHook创建表格实例,管理列、数据源、分页、搜索表单
useFieldsHook字段配置增删改查(支持嵌套)
useFormDataHook表单数据管理(响应式 + 深层路径)
useFormRefHook底层 Form 组件实例引用管理
Form类型表单实例类型
Table类型表格实例类型

使用示例

import { useForm, useTable } from '@qin-ui/pro-components-core';

interface User {
  name: string;
  age: number;
}

// 创建表单实例(纯逻辑,可配合任意 UI 库使用)
const form = useForm<User>({ name: '张三', age: 25 }, [
  { path: 'name', label: '姓名' },
]);

form.formData.name; // '张三'(响应式)
form.setFormData('name', '李四');
form.getField('name'); // 获取字段配置

设计特点

  • 逻辑与 UI 解耦:核心 Hook 不依赖任何 UI 框架,由各组件包绑定具体 UI 库的类型(如 antdv-next 的 FormInstance)
  • 类型安全:完整的 TypeScript 类型推导,支持深层路径(getFormData('address.city'))
  • 源码可跳转:发布产物带 declaration map,IDE 中 Go to Definition 可直达源码

技术栈

  • Vue 3.3+(依赖 reactive / ref / provide / inject)

License

MIT

版本与发布记录

@qin-ui/pro-components-core 共发布 19 个版本,首次发布于 2026/07/08;过去 12 个月发布了 19 个版本。

版本发布日期距今
2.1.2latest2026/11/021 天前
2.1.12026/10/277 天前
2.1.02026/10/268 天前
2.0.62026/09/091 个月前
2.0.52026/09/081 个月前
2.0.42026/09/051 个月前

关于 @qin-ui/pro-components-core 的常见问题

@qin-ui/pro-components-core 是什么?

亲组件的核心逻辑

如何安装 @qin-ui/pro-components-core?

在项目目录运行 npm install @qin-ui/pro-components-core,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:vue(^3.5.0)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@qin-ui/pro-components-core 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@qin-ui/pro-components-core 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@qin-ui/pro-components-core 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=18。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@qin-ui/pro-components-core 可以商用吗?

@qin-ui/pro-components-core 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@qin-ui/pro-components-core 还在维护吗?

最新版本 2.1.2 发布于 2026/11/02(1 天前);至今共发布 19 个版本,其中过去 12 个月发布了 19 个;首次发布于 2026/07/08。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。