UNPKG

form-tdesigner

Version:

好用的Vue低代码可视化表单设计器,可以通过拖拽的方式快速创建表单,提高开发者对表单的开发效率。

122 lines (119 loc) 2.81 kB
import uniqueId from '@form-create/utils/lib/unique'; import { getInjectArg, localeOptions, localeProps } from '../../utils'; const label = '上传'; const name = 'upload'; export default { menu: 'main', icon: 'icon-upload', label, name, event: ['change', 'remove', 'preview', 'error', 'progress', 'exceed'], validate: ['array'], rule({ t }) { return { type: name, field: uniqueId(), title: t('com.upload.name'), info: '', $required: false, props: { action: '/', onSuccess: new Function('res', 'file', 'file.url = res.data.url;'), }, }; }, props(_, { t }) { return localeProps(t, name + '.props', [ { type: 'switch', field: 'disabled', }, { type: 'select', field: 'theme', options: localeOptions(t, [ { label: 'file', value: 'file' }, { label: 'image', value: 'image', }, { label: 'file-input', value: 'file-input', }, ]), }, { type: 'switch', field: 'multiple' }, { type: 'input', field: 'action', }, { type: 'FnInput', field: 'beforeUpload', props: { args: ['file'], name: 'beforeUpload', }, }, { type: 'FnInput', field: 'beforeRemove', props: { body: true, button: true, fnx: true, args: [getInjectArg(t)], name: 'beforeRemove', }, }, { type: 'FnInput', field: 'onSuccess', info: t('com.upload.info'), props: { args: ['res', 'file'], name: 'onSuccess', }, }, { type: 'TableOptions', field: 'headers', props: { column: [ { label: t('props.key'), key: 'label' }, { label: t('props.value'), key: 'value' }, ], valueType: 'object', }, }, { type: 'TableOptions', field: 'data', props: { column: [ { label: t('props.key'), key: 'label' }, { label: t('props.value'), key: 'value' }, ], valueType: 'object', }, }, { type: 'input', field: 'name' }, { type: 'switch', field: 'withCredentials', }, { type: 'input', field: 'accept' }, { type: 'switch', field: 'autoUpload', value: true, }, { type: 'inputNumber', field: 'limit', props: { min: 0 }, }, ]); }, };