@form-create/ant-design-vue
Version:
ant-design-vue动态表单|form-create is a form generation component that can generate dynamic rendering, data collection, verification and submission functions through JSON. Supports 3 UI frameworks, and supports the generation of any Vue components. Built-in 2
22 lines (19 loc) • 725 B
JavaScript
import {creatorFactory} from '@form-create/core/src/index';
const name = 'input';
export default {
name,
maker: (function () {
return ['password', 'url', 'email', 'text', 'textarea', 'search'].reduce((maker, type) => {
maker[type] = creatorFactory(name, {type});
return maker;
}, {
idate: creatorFactory(name, {type:'date'})
});
}()),
render(children, ctx) {
let type = ctx.prop.props.type;
if (['textarea', 'search'].indexOf(type) === -1) type = 'input';
type = (type === 'textarea' ? 'ATextarea' : (type === 'search' ? 'AInputSearch' : 'AInput'));
return ctx.$render.vNode.make(type, ctx.prop, children);
}
}