VFormDesigner为VForm的表单设计器组件,用于生成表单JSON对象。
1. 引入并全局注册VForm组件
修改vue项目的main.js,如下所示(包含注释的6行代码):
import Vue from 'vue'import App from './App.vue'import axios from 'axios' //如果需要axios,请引入import ElementUI from 'element-ui' //引入element-ui库import VForm from 'vform-builds' //引入VForm库import 'element-ui/lib/theme-chalk/index.css' //引入element-ui样式import 'vform-builds/dist/VFormDesigner.css' //引入VForm样式Vue.config.productionTip = falseVue.use(ElementUI) //全局注册element-uiVue.use(VForm) //全局注册VForm(同时注册了v-form-designe、v-form-render等组件)/* 注意:如果你的项目中有使用axios,请用下面一行代码将全局axios复位为你的axios!! */window.axios = axiosnew Vue({render: h => h(App),}).$mount('#app')
2. 在Vue模板中使用组件
<template><v-form-designer></v-form-designer></template><script>export default {data() {return {}}}</script><style lang="scss">body {margin: 0; /* 如果页面出现垂直滚动条,则加入此行CSS以消除之 */}</style>
3. 添加Vue项目静态资源文件
为加速页面首次加载速度,富文本组件(Vue2Editor)采用了懒加载方式,即表单中包含富文本组件时由浏览器动态加载所需js文件,该文件为”node_modules\vform-builds\dist\VFormDesigner.umd.min.1.js”。
在开发阶段,需要将该文件复制到Vue项目的静态资源目录(通常为public目录),复制后路径为:
项目根目录\public\js\VFormDesigner.umd.min.1.js
4. 指定AceEditor的动态加载路径
代码编辑器组件AceEditor大量使用了动态按需加载js技术,仅当需要时才动态加载所需js、css文件,目前AceEditor库文件部署在VForm官方的CDN服务器上,如果你要在生产环境使用VForm,建议私有部署AceEditor。
私有部署方法:将node_modules\ace-builds\src-min-noconflict目录下的所有文件上传到web服务器或CDN。
私有部署AceEditor后,需要同步修改utils/config.js文件如下一行代码:
export const ACE_BASE_PATH = ‘部署后的ace打包库文件URL’
5. 设计器样式复位
当设计器嵌入其他项目(如Admin Web类框架),设计器的样式可能会被外部样式污染,导致显示错位、美观度降低。出现这种情况时,只需在v-form-designer之外包裹一个div容器,并在该div上进行样式复位。具体需要复位哪些样式,可跟VForm Demo演示版本进行对比找出。
