# @api-components/api-form-mixin 中文文档

规范地址：https://npmcn.com/package/%40api-components/api-form-mixin/

版本：3\.1\.4
npm 元数据更新时间：2026-04-07T19:29:41.067Z
中文译文更新时间：2026-11-06T13:32:16.662Z
软件包许可：Apache-2\.0

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

原始 npm 页面：https://www.npmjs.com/package/%40api-components/api-form-mixin
原文对照：https://npmcn.com/package/%40api-components/api-form-mixin/?lang=original
项目主页：https://github.com/advanced-rest-client/api-form-mixin#readme
源码仓库：https://github.com/advanced-rest-client/api-form-mixin

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

- 包体积（解压后）：47.8 kB，16 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：未声明
- 运行依赖：2 个
- 首次发布：2018-05-18T21:27:21.932Z
- 最新版本发布：2021-07-28T18:51:13.659Z
- 近 30 天下载量：3125（2026-10-06 至 2026-11-04，npm 官方下载统计）
- 已发布版本数：14（近 12 个月 0 个）

## 中文简介

包含执行基于AMF表格的组件的共同属性、方法和样式的组合

## 安装

```sh
npm install @api-components/api-form-mixin
```

也可以使用：`pnpm add @api-components/api-form-mixin`、`yarn add @api-components/api-form-mixin`、`bun add @api-components/api-form-mixin`

## README

[![Published on NPM](https://img.shields.io/npm/v/@api-components/api-form-mixin.svg)](https://www.npmjs.com/package/@api-components/api-form-mixin)

[![Build Status](https://travis-ci.com/advanced-rest-client/api-form-mixin.svg)](https://travis-ci.com/advanced-rest-client/api-form-mixin)

## <api-form-mixin> (中文(简体) )

与通过形式数据模型处理AMF数据的元素混合使用,并显示模型中的表格.

它包含常用的形式方法.

## 折旧通知

此元素被移动到 `api-forms` 仓库和 `@api-components/api-forms` 软件包。 此元素在迁移完成后会贬值并存档 .

## 使用量

### 安装

```sh
npm install --save @api-components/api-form-mixin
```

### 在一个LitElement中

```js
import { LitElement, html, css } from 'lit-element';
import { ApiFormMixin } from '@api-components/api-form-mixin/api-form-mixin.js';
import styles from '@api-components/api-form-mixin/api-form-styles.js';
import '@polymer/iron-form/iron-form.js';

class SampleElement extends LitElement {
  static get styles() {
    return [
      styles,
      css`:host {
        display: block;
      }`
    ];
  }

  render() {
    const { model: items, allowHideOptional, optionalOpened, allowDisableParams } = this;
    return html`
    <h1>Form</h1>
    <iron-form>
      <form enctype="application/json">
      ${items ? items.map((item, index) => html`<div class="form-item">
        <div class="${this.computeFormRowClass(item, allowHideOptional, optionalOpened, allowDisableParams)}">
          <input
            data-index="${index}"
            type="text"
            name="${item.name}"
            ?required="${item.required}"
            .value="${item.value}"
            @change="${this._modelValueChanged}">
        </div>
      </div>`) : undefined}
      </form>
    </iron-form>`;
  }

  _modelValueChanged(e) {
    const index = Number(e.target.dataset.index);
    if (index !== index) {
      return;
    }
    this.model[index].value = e.target.value;
    this._requestRender();
  }
}
customElements.define('sample-element', SampleElement);
```

## 发展

```sh
git clone https://github.com/advanced-rest-client/api-form-mixin
cd api-form-mixin
npm install
```

### 本地运行演示

```sh
npm start
```

### 运行测试

```sh
npm test
```

## 常见问题

### @api-components/api-form-mixin 是什么？

包含执行基于AMF表格的组件的共同属性、方法和样式的组合

### 如何安装 @api-components/api-form-mixin？

在项目目录运行 npm install @api-components/api-form-mixin，或使用 pnpm add / yarn add / bun add。

### @api-components/api-form-mixin 支持 TypeScript 吗？

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

### @api-components/api-form-mixin 支持 ESM 还是 CommonJS？

同时提供 ES Module 与 CommonJS 入口，import 和 require\(\) 都可以使用，打包工具会自动选择合适的版本。

### @api-components/api-form-mixin 可以商用吗？

@api-components/api-form-mixin 使用 Apache-2\.0 许可。宽松许可：允许商业使用、修改和再分发，并附带明确的专利授权；分发时需保留许可与 NOTICE 文件，修改过的文件要注明改动。以上为概括，不构成法律意见，请以许可原文为准。

### @api-components/api-form-mixin 的下载量有多少？

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

### @api-components/api-form-mixin 还在维护吗？

最新版本 3\.1\.4 发布于 2021/07/29（5 年前）；至今共发布 14 个版本，其中过去 12 个月发布了 0 个；首次发布于 2018/05/19。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

