@flipbyte/formik-json

中文文档
0.6.2发布于 2022/01/25MITESM + CJS近 30 天下载 2553

formik-json是Formik方便地使用 JSON / Javascript 对象创建用于定义元素的表单的包装器

中文使用文档
文档目录10 节
  1. 实例
  2. 先决条件
  3. 安装
  4. 快速启动指南
  5. 窗体组件
  6. Schema 对象
  7. 每种容器的属性如下:
  8. 以下是每种字段的属性
  9. 谢谢
  10. 许可证

(原始内容存档于2013-10-12). formik-json

由 Flipbyte 开发

Build Status npm package Coverage Status license Codacy Badge

formik-json是Formik方便地使用JSON /创建表格的包装器 用于定义元素的 Javascript 对象 .

实例

先决条件

该组件依赖于几个第三方插件来添加WYSIWYG, 选择、自动完成、验证等。 很少有人已经打包过来了 和扩展名,不需要在您的 项目.

安装

您可以使用以下步骤安装 Formik-json .

$ npm i @flipbyte/formik-json

快速启动指南

安装完成后,可以将表单添加到任何 构成部分如下:

导入窗体组件

import { Form } from '@flipbyte/formik-json';
准备表单对象
{
    "id": "my-new-form",
    "label": "My New Form",
    "type": "container",
    "renderer": "form",
    "elements": {
        "save": {
            "type": "field",
            "renderer": "button",
            "name": "save",
            "label": "Save",
            "htmlClass": "btn-success",
            "buttonType": "submit"
        },
        "main": {
            "type": "container",
            "renderer": "div",
            "htmlClass": "row",
            "elements": {
                "title": {
                    "name": "attributes.0.title",
                    "label": "Title",
                    "type": "field",
                    "renderer": "text",
                    "fieldType": "text"
                },
                ....
            }
        },
        ....
    }
}
任意添加组件
<Form
    schema={ /* Your form object here */ }
    { .../* Other formik props */ } />

窗体组件


窗体组件需要以下属性:

密钥说明
计划您的策略对象
更新时更新值时调用
初始数值检查
Formik 属性你可以添加任何一个 组件道具

Schema 对象


Schema 对象包含可以是2个类型之一的元素: “容器”或“场” 组件。 "集装箱"有一个"要素"键,你可以在里面 定义新容器或字段.

有下列密钥( 全部需要) 的 schema 对象 :

密钥说明
编号表格的标识
标签表格的标题
类型"集装箱"
渲染器"形式"(你可以使用其他渲染器,但如果你想使形式具有 <form /> 标记使用"形式"渲染器. )
要素是用来定义容器内元素的对象

注意: 计划对象只能有一个容器. 你可以拥有 主对象内多个容器和字段 计划对象 .

“元素”是具有键值对的对象,其中值是另一个 对象。 值对象可以是"容器"类型,也可以是"场"类型.

每个容器或字段都需要一个可使用 "投降者":"{你的 投降者}". 您可以定义您拥有的渲染器 容器和钥匙或使用随同模块而来的钥匙.

每种容器的属性如下:

通用容器属性

不适用外地财产说明
无类型字符串"集装箱"
按钮组名称字符串用于在“前缀Name ToElement”设定为真实时将父容器的名称预先加到子字段.
可编辑网格, 标签要素{}是一个可以在其内放置一个或多个字段或容器的物体.
可编辑网格, 按钮组前缀Name 工具元素布尔
显示时间字符串检查 条件
注释字符串注释/容器说明
注释分类字符串用于注释元素的 html 类

集装箱特定特性

集装箱外地财产说明
可编辑网格渲染器字符串可编辑网格
字段{}键值对中具有一个或多个字段定义的对象
按钮{"add": "Add", "remove": "X", "duplicate": "Duplicate"}有三个属性,都是可选的。 这些可以是返回按钮的函数,也可以是作为按钮标签的字符串
是对象布尔网格是否显示对象。 如果设置为真,则按钮(添加、去除和复制)将被禁用.
稳定布尔网格行是否可以被拖动和排序
表格容器分类字符串将可编辑网格覆盖到 htmlClass
表格分类字符串html 可编辑网格的分类
数字渲染器字符串数字
名称字符串用于在“前缀Name ToElement”设定为真实时将父容器的名称预先加到子字段.
html 分类字符串div 元素的 html 分类
html 标签渲染器字符串html 标签
名称字符串用于在“前缀Name ToElement”设定为真实时将父容器的名称预先加到子字段.
作为字符串要使用的 html 标签( 默认 : “ div ” )
html 分类字符串html 标签元素
字段集渲染器字符串字段集
名称字符串用于在“前缀Name ToElement”设定为真实时将父容器的名称预先加到子字段.
标题字符串字段集的标签
卡片分类字符串html 包装容器的分类
纸卡头类字符串html 包装容器头的分类
纸卡头动作分类字符串html 容器头部有披露按钮的容器分类
纸片组合字符串html 容器体表
表单渲染器字符串表单
名称字符串用于在“前缀Name ToElement”设定为真实时将父容器的名称预先加到子字段.
html 分类字符串任何字符
选项卡渲染器字符串选项卡
名称字符串用于在“前缀Name ToElement”设定为真实时将父容器的名称预先加到子字段.
选项卡{}对象
卡片分类字符串与字段集相同
行分类字符串以 html 分类 显示行
选项卡列表字符串html 标签列表的分类
选项卡列表项目分类字符串html 标签列表项目分类
选项卡字符串html 标签内容容器分类
选项卡字符串html 标签容器分类
内容字符串html 包装标签内容容器的分类
选项卡字符串html 活动标签的分类
选项卡字符串html 单标签面板的分类
按钮组渲染器字符串按钮组
要素{}这些元素只能是类型: 有渲染器的"场":"按钮".

以下是每种字段的属性

常见字段属性

外地类型财产说明
名称字符串html 字段名称属性
标签字符串字段的标签
类型字符串"战地"
标签分类字符串标签 html 元素的 html 类
组分类字符串用于覆盖窗体字段的 html 类
验证字符串检查 yup-schema (法语)
显示时间字符串检查 条件
启用时字符串检查 条件
字段分类字符串html 主 html/3- 第 阵型字段的 html 类
注释字符串注释/ 字段以下的说明
注释A字符串定义用于包装注释的 HTML 标记。 (默认 : (中文(简体) )
注释分类字符串用于注释元素的 html 类
模板反应组件字符串定义字段的自定义模板( 请检查 src/Template/Default.js)或使用 registerTemplate 然后将字符串密钥传递到这里
错误字符串定义用于包装错误的 HTML 标记。 (默认 :
(中文(简体) )
错误分类字符串错误元素的 html 类

字段特定属性

外地类型财产说明
复选框渲染器字符串复选框
名称字符串html 字段名称属性
标签字符串字段的标签
类型字符串"战地"
属性{}是一个可以持有其它 html 字段相关属性(如果有) 的对象。 只使用没有使用任何其他密钥定义的密钥 。 例如:名称已经拥有自己的密钥,因此属性对象内的"名"密钥将无所作为.
选项阵列带有“ 值” 和“ 标签” 键的天体阵列
代码编辑器渲染器字符串代码编辑器
名称字符串html 字段名称属性
标签字符串字段的标签
选项{}
默认值字符串默认字段值( 未测试)
属性{}是一个可以持有其它 html 字段相关属性(如果有) 的对象。 只使用没有使用任何其他密钥定义的密钥 。 例如:名称已经拥有自己的密钥,因此属性对象内的"名"密钥将无所作为.
电台渲染器字符串电台
名称字符串html 字段名称属性
标签字符串字段的标签
选项{}
属性{}是一个可以持有其它 html 字段相关属性(如果有) 的对象。 只使用没有使用任何其他密钥定义的密钥 。 例如:名称已经拥有自己的密钥,因此属性对象内的"名"密钥将无所作为.
反应 - 选择渲染器字符串反应 - 选择
名称字符串html 字段名称属性
标签字符串字段的标签
选项{}带有值和标签密钥的对象数组。 示例 [{"label": "Item 1", "value": "value-1"}]
默认值字符串默认字段值( 未测试)
复数布尔是否为 mult 选择
可打开布尔在选中位置上显示一个清晰的选定按钮,该按钮将清除选定的选项
已失效布尔设定为正则时禁用选择
无选项函数参考 重现选择道具
切换渲染器字符串切换
文本渲染器字符串文本
属性{}是一个可以持有其它 html 字段相关属性(如果有) 的对象。 只使用没有使用任何其他密钥定义的密钥 。 例如:名称已经拥有自己的密钥,因此属性对象内的"名"密钥将无所作为.
字段类型字符串HTML 输入类型. 输入的值
默认值字符串默认字段值( 未测试)
图标字符串字体优美图标类
输入组分类字符串html 类,用于将图标和输入元素组合在一起的潜水
文本区域渲染器字符串文本区域
属性{}是一个可以持有其它 html 字段相关属性(如果有) 的对象。 只使用没有使用任何其他密钥定义的密钥 。 例如:名称已经拥有自己的密钥,因此属性对象内的"名"密钥将无所作为.
行数数目默认显示文本区域容器的行数
维西维格语name渲染器字符串维西维格语name
属性{}是一个可以持有其它 html 字段相关属性(如果有) 的对象。 只使用没有使用任何其他密钥定义的密钥 。 例如:名称已经拥有自己的密钥,因此属性对象内的"名"密钥将无所作为.
选项{}React-quill wysiwyg 选项
行数数目Wysiwyg 容器默认显示的行数
文本区域分类字符串用于显示 wysiwyg 输入的内容的原始 html 的文本区域类别
自动补全渲染器字符串自动补全
属性{}是一个可以持有其它 html 字段相关属性(如果有) 的对象。 只使用没有使用任何其他密钥定义的密钥 。 例如:名称已经拥有自己的密钥,因此属性对象内的"名"密钥将无所作为.
默认值字符串默认字段值( 未测试)
选项{}可用选项 反应自动推荐插件
文件上加载器渲染器字符串文件装入器
选项{}可用选项 反应-投放区插件
组分类字符串用于覆盖窗体字段的 html 类
内文本渲染器字符串内文本
作为字符串用于内文本字段的 HTML 标签
html 分类字符串用于标签的 HTML 类
默认值字符串或用作 HTML 元素的静态值, 或在未定义时用作占位符
按钮渲染器字符串按钮
内容字符串按钮内 html

谢谢

如有建议、意见或想法,可制定更多的 解决方案,你可以给我们写信 Flipbyte.com (英语)欢迎公关.

许可证

《麻省理工学院许可证》

版本与发布记录

@flipbyte/formik-json 共发布 36 个版本,首次发布于 2019/02/02;过去 12 个月发布了 0 个版本。

版本发布日期距今
0.6.2latest2022/01/254 年前
0.6.12020/05/156 年前
0.5.12020/03/256 年前
0.5.02020/03/246 年前
0.4.82020/03/236 年前
0.4.72020/03/236 年前

关于 @flipbyte/formik-json 的常见问题

@flipbyte/formik-json 是什么?

formik-json是Formik方便地使用 JSON / Javascript 对象创建用于定义元素的表单的包装器

如何安装 @flipbyte/formik-json?

在项目目录运行 npm install @flipbyte/formik-json,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:lodash(^4.17.13)、react(^16.8.6)、react-dom(^16.8.6)、prop-types(^15.6.2)、@fortawesome/fontawesome-free(^5.6.3)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@flipbyte/formik-json 支持 TypeScript 吗?

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

@flipbyte/formik-json 支持 ESM 还是 CommonJS?

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

@flipbyte/formik-json 可以商用吗?

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

@flipbyte/formik-json 的下载量有多少?

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

@flipbyte/formik-json 还在维护吗?

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