diff --git a/package.json b/package.json index 3e682fe..b4d64ef 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@kne-components/components-admin", - "version": "1.1.36", + "version": "1.1.37", "description": "用于实现一个后台管理系统的必要组件", "scripts": { "init": "husky", diff --git "a/prompts/FormInfo\344\275\277\347\224\250\346\214\207\345\215\227.md" "b/prompts/FormInfo\344\275\277\347\224\250\346\214\207\345\215\227.md" deleted file mode 100644 index 6f109e2..0000000 --- "a/prompts/FormInfo\344\275\277\347\224\250\346\214\207\345\215\227.md" +++ /dev/null @@ -1,1110 +0,0 @@ -# FormInfo 组件完整使用指南 - -## 目录 - -1. [概述](#一概述) -2. [导入方式](#二导入方式) -3. [核心组件](#三核心组件) -4. [字段类型](#四字段类型) -5. [校验规则](#五校验规则) -6. [列表组件](#六列表组件) -7. [弹窗与抽屉](#七弹窗与抽屉) -8. [分步表单](#八分步表单) -9. [表单上下文与API](#九表单上下文与api) -10. [多语言支持](#十多语言支持) -11. [最佳实践](#十一最佳实践) - ---- - -## 一、概述 - -FormInfo 是一个基于 React 和 Ant Design 的企业级表单组件库,提供了完整的表单状态管理、验证和提交解决方案。 - -### 核心特性 - -- **状态管理**: 使用 React 状态管理机制管理表单状态 -- **事件系统**: 使用事件发射器模式实现表单内部通信 -- **字段管理**: 动态添加、更新和移除表单字段 -- **验证系统**: 支持表单和字段级别的验证,内置丰富校验规则 -- **拦截器**: 提供表单操作的拦截和修改能力 -- **国际化**: 内置中英文语言支持 - ---- - -## 二、导入方式 - -### 1. 使用 createWithRemoteLoader(推荐) - -```jsx -import { createWithRemoteLoader } from '@kne/remote-loader'; - -const FormComponent = createWithRemoteLoader({ - modules: ['components-core:FormInfo'] -})(({ remoteModules }) => { - const [FormInfo] = remoteModules; - // 解构需要的组件 - const { Form, SubmitButton, fields } = FormInfo; - const { Input, TextArea, Select } = fields; - - return ( -
console.log(data)}> - - ]} /> - 提交 - - ); -}); - -export default FormComponent; -``` - -### 2. 可用的 FormInfo 导出 - -| 导出 | 说明 | -|-----|-----| -| `FormInfo` | 表单信息组件(布局) | -| `Form` | 表单容器组件 | -| `SubmitButton` | 提交按钮 | -| `CancelButton` | 取消按钮 | -| `fields` | 字段组件集合 | -| `List` | 卡片式列表组件 | -| `TableList` | 表格列表组件 | -| `MultiField` | 多字段组件 | -| `FormModal` | 模态框表单组件 | -| `FormDrawer` | 抽屉表单组件 | -| `FormSteps` | 步骤表单组件 | -| `FormStepModal` | 模态框步骤表单 | -| `useFormModal` | 表单弹窗 Hook | -| `useFormDrawer` | 抽屉表单 Hook | -| `useFormStepModal` | 步骤表单弹窗 Hook | -| `useFormContext` | 表单上下文 Hook | -| `FormApiButton` | 表单 API 操作按钮 | - ---- - -## 三、核心组件 - -### 1. Form 组件 - -表单容器组件,负责状态管理和上下文提供。 - -```jsx -
{}} // 提交成功回调 - onError={(errors) => {}} // 校验失败回调 - onPrevSubmit={(data) => {}} // 点击提交时触发(可返回 false 阻止) - rules={{}} // 自定义校验规则 - lang={[]} // 多语言配置 - size="large" // 表单尺寸 - debug // 开启调试模式 -> - {/* 表单内容 */} -
-``` - -**API:** - -| 属性 | 说明 | 类型 | 默认值 | -|-----|-----|-----|-----| -| data | 初始数据 | object | {} | -| onSubmit | 提交成功回调 | function(data, form) | - | -| onError | 校验失败回调 | function(errors, form) | - | -| onPrevSubmit | 提交前拦截回调 | function(data) | - | -| rules | 自定义校验规则 | object | {} | -| lang | 多语言配置 | array | - | -| size | 表单尺寸 | string | - | -| debug | 开启调试 | boolean | false | - -### 2. FormInfo 组件 - -表单字段分组和布局组件。 - -```jsx - - ]} - bordered // 是否显示边框 - block // 占满整行 -> -``` - -**API:** - -| 属性 | 说明 | 类型 | 默认值 | -|-----|-----|-----|-----| -| title | 分组标题 | string \| ReactNode | - | -| subtitle | 副标题 | string \| ReactNode | - | -| column | 列数 | number \| object | 2 | -| gap | 字段间距 | number | 24 | -| list | 字段列表 | ReactNode[] | [] | -| bordered | 显示边框 | boolean | false | -| block | 占满整行 | boolean | false | - ---- - -## 四、字段类型 - -### 1. 基础输入类 - -```jsx -const { Input, InputNumber, TextArea, Password } = fields; - -// 普通输入框 - - -// 密码输入框 - - -// 数字输入框 - - -// 文本域 -