DTStack / dt-form-renderer

Render Interaction Form Via JSON

Home Page:https://dtstack.github.io/dt-form-renderer/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

dt-form-renderer

  • 一个基于 React 和 Ant-Design 的表单渲染器
  • 使用 JSON 描述表单
  • 支持复杂的联动逻辑

文档


使用

组件

import React, { useRef } from 'react';
import FormRenderer from 'dt-form-renderer';
import jsonConfig from './jsonConfig';

function FormDemo () {

    const formRef = useRef();

    return (
        <FormRenderer
            ref={formRef}
            onValuesChange={(...args) => console.log(args)}
            initialValues={{}}
            jsonConfig={}
            defaultExtraData={{}}
        />
    )
}

表单配置

const jsonConfig = {
    description: '这是一份表单配置',
    fieldList: [
        {
            fieldName: 'schema',
            label: 'schema',
            widget: 'Select',
            widgetProps: {
                placeholder: '请选择schema',
                options: [],
                allowClear: true,
            },
        },
        {
            fieldName: 'tableName',
            label: '表名',
            dependencies: ['schema'],
            widget: 'Select',
            widgetProps: {
                options: [],
                placeholder: '请选择表名',
            },
            rules: [
                {
                    required: true,
                    message: '请选择表名!',
                },
            ],
        },
    ],
};

export default jsonConfig;

在线编辑

PlayGround

About

Render Interaction Form Via JSON

https://dtstack.github.io/dt-form-renderer/

License:MIT License


Languages

Language:TypeScript 96.4%Language:Less 2.2%Language:JavaScript 1.1%Language:CSS 0.2%Language:Shell 0.1%