@advanced-rest-client/form-data-editor

中文文档
3.0.10发布于 2021/07/13Apache-2.0CommonJS近 30 天下载 3233

用于编辑窗体数据的元素(x-www-form-urlencoded)

中文使用文档
文档目录11 节
  1. <窗体-数据编辑器>
  2. 使用量
  3. 安装
  4. 在 html 文件内
  5. 在一个LitElement中
  6. 行为控制
  7. 从AMF 模型生成视图模型
  8. 发展
  9. 本地运行演示
  10. 运行测试
  11. API 组件

Published on NPM

Tests and publishing

<窗体-数据编辑器>

用于编辑数据(x-www-form-urlencoded)的元素.

该元素会生成允许输入形式数据值的窗体.

它可能用于 AMF 移动 json/ld 模型通过 api-view-model- transfer 变相器 将AMF模型转换为数据视图模型.

<form-data-editor value="grant_type=authorization_code&code=SplxlOBeZQQYbYS6WxSbIA&redirect_uri=https%3A%2F%2Fclient%2Eexample%2Ecom%2Fcb" allowcustom allowdisableparams allowhideoptional></form-data-editor>

使用量

安装

npm install --save @advanced-rest-client/form-data-editor

在 html 文件内

<html>
  <head>
    <script type="module">
      import '@advanced-rest-client/form-data-editor/form-data-editor.js';
    </script>
  </head>
  <body>
    <form-data-editor allowcustom allowdisableparams></form-data-editor>
    <script>
    {
      const editor = document.querySelector('api-url-params-editor');
      editor.onchange = (e) {
        console.log('Payload value', e.target.value); // or e.detail.value
      };
      editor.onmodel = (e) {
        console.log('View model', e.target.model); // or e.detail.value
      };
    }
    </script>
  </body>
</html>

在一个LitElement中

import { LitElement, html } from 'lit-element';
import '@advanced-rest-client/form-data-editor/form-data-editor.js';

class SampleElement extends PolymerElement {
  render() {
    return html`
    <form-data-editor
      .value="${this.payloadValues}"
      .model="${this.viewModel}"
      @value-changed="${this._valueHandler}"
      @model-changed="${this._modelHandler}"></form-data-editor>
    `;
  }

  _valueHandler(e) {
    this.payloadValues = e.detail.value;
  }

  _modelHandler(e) {
    this.viewModel = e.detail.value;
  }
}
customElements.define('sample-element', SampleElement);

行为控制

允许可拆页

当设定时, 它会为每个项目设置一个复选框, 允许禁用此项目 . 本项目在视图和生成的数据模式中,但在生成值时被忽略.

允许海关

当设定时会使"添加参数"按钮并允许创建新的形式值. 强制单独使用.

允许隐藏可选

何时 item.required 模型属性没有设定, 此值被设定, 然后隐藏所有可选项目( 未按要求标记) 并制作一个复选框来渲染视图中的隐藏项目.

<form-data-editor allowhideoptional></form-data-editor>
<script>
{
  document.querySelector('form-data-editor').model = [
    {
      name: 'param1',
      value: 'value1',
      required: true
    },
    {
      name: 'param2',
      value: 'value2',
      required: false
    }
  ];
}
</script>

此编辑器只制作 param1 参数和隐藏 param2 窗体项目. 用户可以随时渲染隐藏的项目.

从AMF 模型生成视图模型

您可以通过 AMF parser 生成的模型生成视图模型 api-view-model-transformer 键. 此元素生成查询参数,URI参数,正体,和头等的通用模型.

<api-view-model-transformer></api-view-model-transformer>
<form-data-editor></form-data-editor>

<script>
{
  const api = await generateApiModel();
  const endpoint = '/api-endpoint';
  const operation = 'GET';
  const bodyParametersModelArray = getOperationRequestBodyFromModel(api, endpoint, operation); // some abstract method
  const transformer = document.querySelector('api-view-model-transformer');
  transformer.api = api; // This is required to compute ld+json keys!
  const viewModel = transformer.computeViewModel(bodyParametersModelArray);
  document.querySelector('form-data-editor').model = viewModel;
}
</script>

发展

git clone https://github.com/advanced-rest-client/form-data-editor
cd form-data-editor
npm install

本地运行演示

npm start

运行测试

npm test

API 组件

此组件是 API 生态系统组成部分

版本与发布记录

@advanced-rest-client/form-data-editor 共发布 14 个版本,首次发布于 2019/02/23;过去 12 个月发布了 0 个版本。

版本发布日期距今
3.0.10latest2021/07/135 年前
3.0.92021/07/015 年前
3.0.82021/06/115 年前
3.0.72019/11/206 年前
3.0.62019/11/126 年前
3.0.52019/10/317 年前

关于 @advanced-rest-client/form-data-editor 的常见问题

@advanced-rest-client/form-data-editor 是什么?

用于编辑窗体数据的元素(x-www-form-urlencoded)

如何安装 @advanced-rest-client/form-data-editor?

在项目目录运行 npm install @advanced-rest-client/form-data-editor,或使用 pnpm add / yarn add / bun add。

@advanced-rest-client/form-data-editor 支持 TypeScript 吗?

该包的 package.json 没有声明类型入口。需要类型提示时,可以在 npm 上查找社区维护的 @types/advanced-rest-client__form-data-editor 是否存在。

@advanced-rest-client/form-data-editor 支持 ESM 还是 CommonJS?

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

@advanced-rest-client/form-data-editor 可以商用吗?

@advanced-rest-client/form-data-editor 使用 Apache-2.0 许可。宽松许可:允许商业使用、修改和再分发,并附带明确的专利授权;分发时需保留许可与 NOTICE 文件,修改过的文件要注明改动。以上为概括,不构成法律意见,请以许可原文为准。

@advanced-rest-client/form-data-editor 的下载量有多少?

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

@advanced-rest-client/form-data-editor 还在维护吗?

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