import React, { useState,Fragment } from 'react'; import {Button, Checkbox, Col, Collapse, Form, Input, InputNumber, Row, Select, Space, Radio} from 'antd'; import { PlusOutlined, MinusCircleOutlined, DeleteOutlined, ExclamationCircleOutlined, } from '@ant-design/icons'; import * as _ from 'lodash'; import ColorPicker from "../ColorPicker/ColorPicker"; import CustomIcon from "../../config/iconConfig"; import CheckboxGroup from "../CheckboxGroup"; const { Panel } = Collapse; const { TextArea } = Input; const {Option}=Select; const alignObj = { left: ['左对齐', 'iconzuoduiqi'], right: ['右对齐', 'iconyouduiqi'], top: ['顶部对齐', 'iconshangduiqi'], bottom: ['底部对齐', 'iconxiaduiqi'], center: ['垂直居中', 'iconzongxiangjuzhong'], middle: ['水平居中', 'iconhengxiangjuzhong'], }; export interface FieldData { name: string | number | (string | number)[]; value?: any; touched?: boolean; validating?: boolean; errors?: string[]; } export interface FormFieldGroup{ group:string; formItems:FieldData[] } export interface CustomizedFormProps { onChange: (group:string,fields: FieldData[]) => void; formStyle: FormFieldGroup[]; } const CustomizedDynamicForm: React.FC = ({ onChange, formStyle }) => { const hasField = (formItems:FieldData[],field:string)=>{ const i = _.findIndex(formItems,(item)=>item.name[0]==field); if(i>=0){ return true; }else{ return false; } } return ( { (formStyle||[]).map((item,index)=>{ return (
{ onChange(item.group,allFields); }} > { hasField(item.formItems,'username')?( ):'' } { hasField(item.formItems,'color')?( ):'' } { hasField(item.formItems,'fontStyle')?( ):'' } { hasField(item.formItems,'refreshRate')?( 一次 ):'' } { hasField(item.formItems,'iframe')?(