jjb-lc-designable
Version:
基于alibaba-designable源码二次封装的表单设计器。
46 lines • 1.25 kB
JavaScript
import { Input as FormilyInput } from 'jjb-lc-formily/antd';
import { createBehavior, createResource } from 'jjb-lc-designable/core';
import { createFieldSchema } from '../Field';
import { AllSchemas } from '../../schemas';
import { AllLocales } from '../../locales';
export const Input = 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'
}
}]
});