一、表单设计器——EasyFormDesigner
属性(prop)
| 属性名称 | 属性值说明 | 默认值 |
|---|---|---|
| field-list-api | 配置获取后端字段列表接口对象 | 默认为null 接口对象格式为: { URL: ‘字段列表接口请求地址’, nameKey: ‘fieldName’, labelKey: ‘fieldLabel’ } 详情参见:字段接口文档 |
| banned-widgets | banned-widgets 配置禁止设计器显示的组件 | 默认为[],数据格式为组件type名称的数组,比如: [‘table’, ‘rate’, ‘switch’] |
| designer-config | 配置设计器初始化界面显示设置 | 默认值为: { //是否显示语言切换菜单 languageMenu: true, //是否显示GitHub、文档等外部链接 externalLink: true, //是否显示表单模板 formTemplates: true, //是否禁止修改唯一名称 widgetNameReadonly: false, //是否显示组件事件属性折叠面板 eventCollapse: true, //是否显示清空设计器按钮 clearDesignerButton: true, //是否显示预览表单按钮 previewFormButton: true, //是否显示导入JSON按钮 importJsonButton: true, //是否显示导出JSON器按钮 exportJsonButton: true, //是否显示导出代码按钮 exportCodeButton: true, //是否显示生成SFC按钮 generateSFCButton: true, //工具按钮栏最大宽度(单位px) //如新增按钮后不可见,请调大 //如右侧空白区域过大,请调小 toolbarMaxWidth: 420, //工具栏按钮最小宽度(单位px) //值必须小于toolbarMaxWidth toolbarMinWidth: 300, //表单设计器预设CSS代码 presetCssCode: ‘’, //表单设计器初始化自动清空内容 / 如设置为true,则刷新页面时也会清空设计器画布区域,慎用!/ resetFormJson: false, //设置自定义产品名称 productName: ‘’, //设置自定义产品标题 productTitle: ‘’, //是否显示顶部LOGO条 logoHeader: true, } |
| global-dsv | 全局数据源变量 dsv即Data Source Variables(数据源变量)缩写。 |
默认值为{},数据格式为: { “myTestURL”: “xxx”, “token”: “aabbcc”, “countLimit”: 600 //可以自由添加键值对 } 在数据源中可使用 DSV[“myTestURL”]、 DSV[“token”]、 DSV[“countLimit”] 获取上述变量值。 |
| form-templates | 表单模板配置 | 默认值为null,使用内置模板。 配置值为数组,格式为: [{ title: ‘表单模板名称’, imgUrl: ‘模板缩略图URL’, jsonStr: ‘表单模板json字符串’, //优先级高于jsonUrl jsonUrl: ‘表单模板对象读取URL’, //优先级低于jsonStr description: ‘表单模板描述文字’, i18n: { //优先级高于title和description ‘zh-CN’: { title: ‘中文title’, description: ‘中文描述文字’, }, ‘en-US’: { title: ‘英文title’, description: ‘英文描述文字’, } } }, … ] |
插槽
| 名称 | 说明 |
|---|---|
| customToolButtons | customToolButtons 用于定制表单设计器的自定义工具按钮,位于默认工具按钮的右侧。 |
原生事件
原生事件可以在Vue模板中用@事件名称或JS代码中调用Vue实例的$on添加事件处理方法。
交互事件
交互事件可在表单设计器中编写事件处理代码。
API方法
| 方法名 | 说明 | 参数 |
|---|---|---|
| changeLanguage | 修改界面显示语言 | string:’zh-CN’、’en-US’ |
| setFormJson | 设置表单JSON对象 | string/object |
| getFormJson | 获取表单JSON对象 | — |
| clearDesigner | 清空设计器画布 | — |
| refreshDesigner | 刷新设计器画布(几乎用不到) | — |
| previewForm | 打开—预览表单—弹窗 | — |
| importJson | 打开—导入表单JSON—弹窗 | — |
| exportJson | 打开—导出表单JSON—弹窗 | — |
| exportCode | 打开—导出Vue/HTML代码—弹窗 | — |
| generateSFC | 打开—生成SFC组件代码—弹窗 | — |
| getFieldWidgets | 获取表单JSON中的所有字段,返回对象数组,格式如下: [ { type: String, name: String, field: Object }, …, ] |
— 无参数 注意:该方法获取的是formJson中的容器JSON定义,并非渲染后的容器组件。 |
| getWidgetRef | 获取设计器组件实例 | (widgetName, showError): widgetName,组件名称 showError=true/false,如组件不存在是否显示错误 |
| getSelectedWidgetRef | 获取设计器选中的组件实例 | — |
| buildFormDataSchema | 构建并返回表单数据结构对象,仅Pro版本支持 | — |
| addDataSource | 增加数据源对象,仅Pro版本支持 | dsObj,数据源对象 { dataSourceId: ‘1x2y3z98765’, //确保表单内唯一不重复 uniqueName: ‘’, requestURL: ‘’, requestURLType: ‘String’, description: ‘’, headers: [ ], params: [ ], data: [ ], requestMethod: ‘get’, configHandlerCode: ‘ return config’, dataHandlerCode: ‘ return result.data.data;’, errorHandlerCode: ‘ $message.error(error.message);’, dataSetEnabled: false, // 是否开启多数据集 dataSets: [ ], }, |
| getFormTemplates | 获取全部表单模板,仅Pro版本支持 | 返回表单模板数组 |
| clearFormTemplates | 清空全部表单模板,仅Pro版本支持 | — |
| addFormTemplate | 追加新的表单模板,仅Pro版本支持 | formTemplate,表单模板对象 { title: ‘表单模板名称’, imgUrl: ‘模板缩略图URL’, jsonStr: ‘表单模板json字符串’, //优先级高于jsonUrl jsonUrl: ‘表单模板对象读取URL’, //优先级低于jsonStr description: ‘表单模板描述文字’, i18n: { //优先级高于title和description ‘zh-CN’: { title: ‘中文title’, description: ‘中文描述文字’, }, ‘en-US’: { title: ‘英文title’, description: ‘英文描述文字’, } } } |
