1.10.0 • Published 4 months ago

vformlmq v1.10.0

Weekly downloads
-
License
ISC
Repository
github
Last release
4 months ago

Variant Form

一款高效的Vue低代码表单,可视化设计,一键生成源码,享受更多摸鱼时间。

image

立即体验

在线Demo

🎉🎉基于VForm的全栈低代码平台已发布🎉🎉

美乐低代码——立即进入

立即体验VForm Pro高级版(提供商业支持)

Pro Demo

视频教程集合:

B站观看

Vue 3正式版已发布

立即进入

🎉🎉基于Vant组件库的Mobile版本已发布🎉🎉

立即进入

友情链接

Fantastic-admin —— 一款开箱即用的 Vue 中后台管理系统框架(支持Vue2/Vue3)

REBUILD —— 高度可定制化的企业管理系统

功能一览

> 拖拽式可视化表单设计;
> 支持PC、Pad、H5三种布局;
> 支持运行时动态加载表单;
> 支持表单复杂交互控制;
> 支持自定义CSS样式;
> 支持自定义校验逻辑;
> 支持国际化多语言;
> 兼容IE 11浏览器;
> 可导出Vue组件、HTML源码;
> 可导出Vue的SFC单文件组件;
> 支持开发自定义组件;
> 支持响应式自适应布局;
> 支持VS Code插件;
> 更多功能等你探究...;

安装依赖

npm install --registry=https://registry.npm.taobao.org

开发调试

npm run serve

生产打包

npm run build

表单设计器 + 表单渲染器打包

npm run lib

表单渲染器打包

npm run lib-render

浏览器兼容性

Chrome(及同内核的浏览器如QQ浏览器、360浏览器等等),Edge, Firefox,Safari,IE 11

跟Vue项目集成

1. 安装包

npm i vform-builds

yarn add vform-builds

2. 引入并全局注册VForm组件

import Vue from 'vue'
import App from './App.vue'

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 = false

Vue.use(ElementUI)  //全局注册element-ui
Vue.use(VForm)  //全局注册VForm(同时注册了v-form-designer和v-form-render组件)

new Vue({
  render: h => h(App),
}).$mount('#app')

3. 在Vue模板中使用表单设计器组件

<template>
  <v-form-designer></v-form-designer>
</template>

<script>
  export default {
    data() {
      return {
      }
    }
  }
</script>

<style lang="scss">
body {
  margin: 0;  /* 如果页面出现垂直滚动条,则加入此行CSS以消除之 */
}
</style>

4. 在Vue模板中使用表单渲染器组件

<template>
  <div>
    <v-form-render :form-json="formJson" :form-data="formData" :option-data="optionData" ref="vFormRef">
    </v-form-render>
    <el-button type="primary" @click="submitForm">Submit</el-button>
  </div>
</template>
<script>
  export default {
    data() {
      return {
        formJson: {"widgetList":[],"formConfig":{"labelWidth":80,"labelPosition":"left","size":"","labelAlign":"label-left-align","cssCode":"","customClass":"","functions":"","layoutType":"PC","onFormCreated":"","onFormMounted":"","onFormDataChange":""}},
        formData: {},
        optionData: {}
      }
    },
    methods: {
      submitForm() {
        this.$refs.vFormRef.getFormData().then(formData => {
          // Form Validation OK
          alert( JSON.stringify(formData) )
        }).catch(error => {
          // Form Validation failed
          this.$message.error(error)
        })
      }
    }
  }
</script>

资源链接

文档官网:https://www.vform666.com/

在线演示:http://120.92.142.115/

Gitee仓库:https://gitee.com/vdpadmin/variant-form

Github仓库:https://github.com/vform666/variant-form

VS Code插件:https://www.vform666.com/plugin/

更新日志:https://www.vform666.com/changelog.html

订阅Pro版:https://www.vform666.com/pro/

技术交流群:扫如下二维码加群

image

ace-buildsacceptsacorn-walkaddressajvacorn-jsxajv-errorsacornajv-keywordsansi-colorsansi-escapesalphanum-sortansi-regexansi-html-communityansi-stylesanymatchany-promiseaprobaarr-diffarcharray-flattenargparsearr-flattenarr-unionarray-unionarray-uniqarray-uniqueasn1.jsasn1assertassert-plusastral-regexasyncassign-symbolsasync-eachatobasync-validatorasynckitasync-limiterautoprefixeraws-sign2aws4axiosbabel-eslintbabel-helper-vue-jsx-merge-propsbabel-loaderbabel-plugin-dynamic-import-nodebabel-plugin-polyfill-corejs3babel-plugin-polyfill-regeneratorbabel-polyfillbabel-runtimebalanced-matchbasebase64-jsbatchbcrypt-pbkdfbfjbinary-extensionsbig.jsbluebirdbabel-plugin-polyfill-corejs2body-parserbn.jsbonjourboolbasebrace-expansionbracesbrorandbrowserify-aesbrowserify-cipherbrowserify-desbrowserify-zlibbrowserify-rsabrowserslistbrowserify-signbufferbuffer-frombuffer-indexofbuffer-jsonbuffer-xorbuiltin-status-codescacachecache-basebytescache-loadercall-bindcall-me-maybecaller-callsitecamel-casecamelcasecaniuse-apicase-sensitive-paths-webpack-plugincaselesschalkchardetcheck-typeschrome-trace-eventchokidarcaniuse-liteclass-utilschownrclean-csscli-highlightcli-cursorcipher-baseci-infocli-spinnerscli-widthcloneclipboardyclone-deepcoacollection-visitcolorcolor-convertcolor-namecolor-stringcliuicombined-streamcomponent-emittercommanderclipboardcompressiblecommondircompressionconnect-history-api-fallbackconcat-mapconcat-streamconsole-browserifyconstants-browserifyconsolidatecontent-dispositioncontent-typecookiecookie-signaturecopy-concurrentlyconvert-source-mapcopy-webpack-plugincopy-descriptorcore-jscreate-ecdhcore-util-iscosmiconfigcreate-hmaccross-spawncrypto-browserifycss-color-namescreate-hashcss-selectcss-loadercss-treecss-whatcss-select-base-adaptercssnanocssnano-preset-defaultcssnano-util-get-argumentscss-declaration-sortercssnano-util-get-matchcssocssnano-util-same-parentcyclistdashdashde-indentdebugdecamelizedecode-uri-componentcssnano-util-raw-cachedeep-equalcore-js-compatdefault-gatewaydeep-isdeepmergedefaultsdefine-propertiesdefine-propertydeldelayed-streamdelegatedes.jsdestroydiffie-hellmandir-globdns-equaldns-packetdns-txtdoctrinedetect-nodecssescdepddom-converterdom-serializerdomhandlerdomain-browserdomreadydomutilsdot-propdotenvdotenv-expandcallsitesduplexereasy-stackduplexifyecc-jsbndomelementtypeejsee-firstelectron-to-chromiumelement-uiellipticemojis-listencodeurlentitieserrnoend-of-streamerror-exes-abstracterror-stack-parseremoji-regexes-to-primitiveenhanced-resolveescaladeeslintescape-string-regexpeslint-plugin-vueeslint-loadereslint-utilseslint-scopeeslint-visitor-keysespreeesprimaesqueryesrecurseesutilsescape-htmletageventemitter3eventsevent-pubsubeventsourceevp_bytestokeyexpand-bracketsexpressextendexecaextend-shallowexternal-editorextglobextsprintffast-deep-equalestraversefaye-websocketfast-levenshteinfile-entry-cachefiggy-puddingfile-loaderfile-saverfast-difffilesizefinalhandlerfill-rangefind-cache-dirfind-upfiguresflat-cacheflush-write-streamforever-agentfor-infast-json-stable-stringifyform-datafollow-redirectsflattedforwardedfs-extrafrom2fs-write-stream-atomicfreshfs.realpathfunction-bindget-caller-fileget-intrinsicget-streamgensyncget-symbol-descriptionfragment-cachegetpassget-valuefunctional-red-black-treeglob-parentglob-to-regexpglobalsfast-globglobbygood-listenergraceful-fsgzip-sizeglobhandle-thinghashar-validatorhas-ansihas-bigintshar-schemahas-tostringtaghas-valuehas-symbolshas-valueshas-flaghash-basehash.jshash-sumhex-color-regexhoopyhighlight.jshosted-git-infohpack.jshsl-regexhehsla-regexhtml-entitieshtml-tagshtml-minifierhtml-webpack-pluginhtmlparser2http-deceiverhttp-errorshttp-parser-jshmac-drbghttp-proxyhttp-proxy-middlewarehttp-signaturehttps-browserifyhuman-signalsiconv-liteicss-utilsieee754iferrignoreimage-sizeimmutableimport-cwdimport-fromimport-localimurmurhashindexes-ofinfer-ownerinquirerinheritsinternal-ipinternal-slotipip-regeximport-freshinflightis-absolute-urlipaddr.jsis-argumentsis-bigintis-arrayishis-binary-pathis-boolean-objectis-bufferis-callableis-ciis-color-stopis-core-moduleis-data-descriptoris-accessor-descriptoris-date-objectis-descriptoris-directoryis-extendableis-extglobis-negative-zerois-fullwidth-code-pointis-globis-numberis-number-objectis-objis-path-cwdis-path-in-cwdis-path-insideis-dockeris-plain-objis-plain-objectis-regexis-resolvableis-shared-array-bufferis-streamis-stringis-typedarrayis-symbolis-weakrefis-windowsis-wslisarrayisexeisobjectjavascript-stringifyisstreamjs-base64js-messagejs-tokensjs-yamljsbnjsescjson-parse-better-errorsjson-parse-even-better-errorsjson-schema-traversejson-schemajs-queuejson-stable-stringify-without-jsonifyjson5jsprimjson-stringify-safejson3killablekind-oflaunch-editorlaunch-editor-middlewarelevnloader-fs-cachelines-and-columnsloader-runnerloader-utilslocate-pathlodashlodash.debouncelodash.defaultsdeeplodash.kebabcasejsonfilelodash.mapvalueslodash.memoizelodash.transformlodash.uniqlog-symbolsloglevellower-casemake-dirlru-cachemap-visitmap-cachemd5.jsmedia-typermerge-descriptorsmemory-fsmerge-source-mapmerge-optionsmerge-streammerge2miller-rabinmimemime-dbmime-typesmimic-fncaller-pathmini-css-extract-pluginminimalistic-assertmicromatchminimalistic-crypto-utilsminipassminimistmississippiminimatchmittmixin-deepmkdirpmove-concurrentlymsmulticast-dnsmdn-datamulticast-dns-service-typesmute-streammvdirmznanomatchnatural-comparenegotiatorneo-asyncnice-trymethodsno-casenode-forgenode-ipcnode-libs-browsernode-releasesnormalize-package-datanormalize-pathnormalize-rangenormalize-urlnormalize-wheelnpm-run-pathnum2fractionnth-checkobject-assignoauth-signobject-copyobject-hashobject-keysobject.assignobject-visitobject-inspectobject.getownpropertydescriptorsobject.pickobject-isobject.valueson-finishedobufon-headersonceonetimeopenopeneropnoptionatororaoriginalos-browserifyos-tmpdirp-finallyp-limitp-locatep-mapp-trypakoparallel-transformparam-caseparchmentparent-moduleparse-asn1p-retryparse-jsonparse5parseurlpath-browserifypascalcaseparse5-htmlparser2-tree-adapterpath-dirnamepath-existspath-is-absolutepath-is-insidepath-keypath-parsepath-to-regexppath-typepbkdf2performance-nowpicocolorspicomatchpifypinkiepinkie-promisepkg-dirpnp-webpack-pluginportfinderposix-character-classespostcsspostcss-calcpostcss-colorminpostcss-convert-valuespostcss-discard-commentspostcss-discard-emptypostcss-discard-duplicatespostcss-discard-overriddenpostcss-load-configpostcss-loaderpostcss-merge-longhandpostcss-merge-rulespostcss-minify-font-valuespostcss-minify-gradientspostcss-minify-paramspostcss-minify-selectorspostcss-modules-extract-importspostcss-modules-local-by-defaultpostcss-modules-scopepostcss-modules-valuespostcss-normalize-display-valuespostcss-normalize-positionspostcss-normalize-repeat-stylepostcss-normalize-stringpostcss-normalize-charsetpostcss-normalize-unicodepostcss-normalize-timing-functionspostcss-normalize-whitespacepostcss-normalize-urlpostcss-ordered-valuespostcss-reduce-initialpostcss-reduce-transformspostcss-selector-parserpostcss-svgopostcss-unique-selectorspostcss-value-parserposthtmlposthtml-rename-idposthtml-svg-modeposthtml-parserposthtml-renderprelude-lsprepend-httpprettierprocess-nextick-argsprocesspretty-errorpromise-inflightproxy-addrprogressprrpseudomappslpublic-encryptpumppumpifypunycodeqqsquery-stringquerystringquerystring-es3quillquerystringifyquill-deltarandombytesrandomfillreadable-streamread-pkgrange-parserreaddirpraw-bodyregenerateregenerate-unicode-propertiesregenerator-runtimeregex-notregenerator-transformregexp.prototype.flagsregexppregexpu-coreregjsparserremove-trailing-separatorrenderkidregjsgenrepeat-elementrelateurlrepeat-stringrequestrequire-directoryrequire-main-filenamerequires-portresize-observer-polyfillresolve-fromresolverestore-cursorretryretresolve-urlrgb-regexrgba-regexripemd160rimrafresolve-cwdrun-queuerun-asyncrxjssafe-buffersafer-buffersasssaxsass-loaderschema-utilsselectselect-hoseselfsignedsafe-regexsemversendserialize-javascriptserve-indexserve-staticsetimmediateset-blockingset-valuesetprototypeofshallow-clonesha.jsshebang-regexshebang-commandshell-quoteside-channelsignal-exitsimple-swizzleslashslice-ansisnapdragon-nodesnapdragon-utilsockjssnapdragonsockjs-clientsort-keyssortablejssource-list-mapsource-mapsource-map-jssource-map-resolvesource-map-supportsource-map-urlspdx-correctspdx-exceptionsspdyspdy-transportsplit-stringssrispdx-expression-parsespdx-license-idssprintf-jsstablesshpkstackframestatic-extendstatusesstream-browserifystream-httpstream-eachstream-shiftstrict-uri-encodestring-widthstring.prototype.trimendstring.prototype.trimstartstring_decoderstrip-ansistrip-eofstrip-final-newlinestrip-indentstylehacksstrip-json-commentssvg-bakersupports-colorsvg-baker-runtimesvg-sprite-loadersvgosvg-tagstabletapabletersertext-tablethenifythenify-allterser-webpack-pluginthread-loaderthrottle-debouncethunkythroughtiny-emittertmpto-arraybuffertimsortto-fast-propertiesto-object-pathto-regexto-regex-rangetoidentifiertoposorttough-cookietraversetryerts-pnptimers-browserifytslibtty-browserifytunnel-agenttype-festtype-checktype-isthrough2tweetnacltypedarrayuglify-jsunbox-primitiveunicode-match-property-ecmascriptunicode-canonical-property-names-ecmascriptunidecodeunion-valueunicode-property-aliases-ecmascriptuniqunicode-match-property-value-ecmascriptuniqsunique-filenameuniversalifyunpipeunique-slugunset-valueunquoteupathuri-jsupper-caseurixurlurl-parseurl-loaderurl-sluguseutilutil.promisifyutil-deprecateutilautils-mergeuuidvaryvalidate-npm-package-licensev8-compile-cacheverrorvm-browserifyvuevue-hot-reload-apivendorsvue-loadervue-eslint-parservue-template-compilervue-loader-v16vuedraggablewatchpackvue2-editorvue-style-loaderwatchpack-chokidar2wbufvue-template-es2015-compilerwcwidthwebpackwebpack-bundle-analyzerwebpack-chainwebpack-dev-middlewarewebpack-dev-serverwebpack-logwebpack-mergewebsocket-driverwebpack-sourceswhichwhich-boxed-primitivewhich-moduleword-wrapworker-farmwrap-ansiwrappywritewsxtendy18nyallistyargs-parseryargswebsocket-extensionsyorkie
1.10.0

4 months ago