# @berlitz/form 中文文档

规范地址：https://npmcn.com/package/%40berlitz/form/

版本：9\.22\.20
npm 元数据更新时间：2026-11-05T19:18:22.669Z
中文译文更新时间：2026-11-07T22:59:45.444Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40berlitz/form
原文对照：https://npmcn.com/package/%40berlitz/form/?lang=original
项目主页：https://github.com/berlitz-global/max/blob/master/components/form/CHANGELOG.md

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：145 kB，11 个文件
- 模块格式：CommonJS
- TypeScript 类型：未声明
- 运行依赖：17 个
- peer 依赖：react 16\.13\.1，styled-components 5\.2\.3，@loadable/component ^5\.13\.1
- 首次发布：2019-01-29T23:17:13.149Z
- 最新版本发布：2026-05-26T07:33:44.898Z
- 近 30 天下载量：2374（2026-10-08 至 2026-11-06，npm 官方下载统计）
- 已发布版本数：355（近 12 个月 4 个）

## 中文简介

最大设计系统的形式组件

## 安装

```sh
npm install @berlitz/form
```

也可以使用：`pnpm add @berlitz/form`、`yarn add @berlitz/form`、`bun add @berlitz/form`

## README

# 表单 [![npm version](https://img.shields.io/npm/v/@berlitz/form.svg)](https://www.npmjs.com/package/@berlitz/form)

从提供的图谋创建窗体.

## 安装

```shell
yarn add @berlitz/form
```

## 道具

| 参数 | 类型 | 需求 | 默认 | 页:1 |
| --- | --- | --- | --- | --- |
| 动作 | 字符串 | ✅ |  | 添加到 `action` 属性 `<form>` 键。 用于在 Javascript 禁用时使窗体生效 . |
| 字段 | 数组 | ✅ |  | 生成窗体字段的外观 。 参考所需形状的道具型. |
| 投递 | 函数 | ✅ |  | 回调用于处理表单提交 . `onSubmit(values, setSubmitting, setStatus, resetForm)` |
| 启用重新初始化 | 布尔 | ❌ | `true` | 设置窗体 `enableReinitialize` 道具 (英语). 更多信息 [https://tinyurl.com/rzwvmhr (中文(简体) )](https://tinyurl.com/rzwvmhr) |
| 方法 | 字符串 | ❌ | 邮递 | 设置 `method` 属性 `<form>` 键. |
| 隐藏字段 | 数组 | ❌ |  | 生成隐藏窗体字段的外观 . |
| 光线 | 布尔 | ❌ | `false` | 将背景设置为坚实的颜色,并更改所有标签和文字的窗体为浅色. |
| 装入标签 | 字符串 | ❌ | "失败" | 装入时提交按钮的文本 . |
| 变化 | 函数 | ❌ |  | 用于处理窗体变化的回调 . `onChange(values)` |
| 提交标签 | 字符串 | ❌ | "投降吧" | 提交按钮的文本 . |
| 术语标签 | 字符串 | ❌ |  | 术语和条件复选框的文本。 如果不提供文本, 复选框将不会显示 . |
| 提交按钮注释 | 对象 | ❌ |  | 转呈给 `<SubmitButton />` 这张表格。 用于触发此组件以外的提交事件 . |
| 隐藏密钥 | 布尔 | ❌ |  | 与 `submitButtonRef` 用于显示此组件外的自定义提交按钮. |

## 使用量

```jsx
import Form from '@berlitz/form'

<Form
  action="/"
  onSubmit={(values, setSubmitting) => {
    alert(values)
    setTimeout(() => {
      setSubmitting(false)
    }, 2000)
  }}
  submitLabel="Find out more"
  fields={fields}
  hiddenFields={hiddenFields}
  termsLabel="I accept the terms"
  onChange={values => {
    setValues(values)
  }}
  light
/>
```

## 常见问题

### @berlitz/form 是什么？

最大设计系统的形式组件

### 如何安装 @berlitz/form？

在项目目录运行 npm install @berlitz/form，或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖：react（16\.13\.1）、styled-components（5\.2\.3）、@loadable/component（^5\.13\.1）。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖，Yarn 需要手动安装。

### @berlitz/form 支持 TypeScript 吗？

该包的 package\.json 没有声明类型入口。需要类型提示时，可以在 npm 上查找社区维护的 @types/berlitz\_\_form 是否存在。

### @berlitz/form 支持 ESM 还是 CommonJS？

以 CommonJS 形式发布，可以直接 require\(\)；在 ES Module 项目中也可以用 import 引入（Node\.js 会把 module\.exports 作为默认导出）。

### @berlitz/form 可以商用吗？

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

### @berlitz/form 的下载量有多少？

根据 npm 官方下载统计，@berlitz/form 在 2026/10/08 – 2026/11/06 这 30 天内被下载 2,374 次，日均约 79 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @berlitz/form 还在维护吗？

最新版本 9\.22\.20 发布于 2026/05/26（5 个月前）；至今共发布 355 个版本，其中过去 12 个月发布了 4 个；首次发布于 2019/01/30。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

