UNPKG

jjb-lc-designable

Version:

基于alibaba-designable源码二次封装的表单设计器。

63 lines (59 loc) 1.53 kB
import React from 'react' import { Input as FormilyInput } from 'jjb-lc-formily/antd' import { createBehavior, createResource } from 'jjb-lc-designable/core' import { DnFC } from 'jjb-lc-designable/react' import { createFieldSchema } from '../Field' import { AllSchemas } from '../../schemas' import { AllLocales } from '../../locales' export const Input: DnFC<React.ComponentProps<typeof FormilyInput>> = FormilyInput Input.Behavior = createBehavior( { name: 'Input', extends: ['Field'], selector: (node) => node.props['x-component'] === 'Input', designerProps: { propsSchema: createFieldSchema(AllSchemas.Input), }, designerLocales: AllLocales.Input, }, { name: 'Input.TextArea', extends: ['Field'], selector: (node) => node.props['x-component'] === 'Input.TextArea', designerProps: { propsSchema: createFieldSchema(AllSchemas.Input.TextArea), }, designerLocales: AllLocales.TextArea, } ) Input.Resource = createResource( { icon: 'InputSource', elements: [ { componentName: 'Field', props: { type: 'string', title: 'Input', 'x-decorator': 'FormItem', 'x-component': 'Input', }, }, ], }, { icon: 'TextAreaSource', elements: [ { componentName: 'Field', props: { type: 'string', title: 'TextArea', 'x-decorator': 'FormItem', 'x-component': 'Input.TextArea', }, }, ], } )