基于vue自动化表单实践
生活随笔
收集整理的這篇文章主要介紹了
基于vue自动化表单实践
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
背景
目標
通過json配置快速生成表單的vue plugin。
設計目標
大概方案設計
使用
安裝
npm install charlie-autoform charlie-autoform_component_lib 復制代碼使用文檔: doc
!!!請忽略文檔上方的開發指南
引入插件
import AutoForm from 'charlie-autoform'; import AutoForm_component_lib from 'charlie-autoform_component_lib';Vue.use(AutoForm); Vue.use(AutoForm_component_lib); 復制代碼基本使用
demo.vue
<template><div><auto-form ref="tagForm1" :model="model1" :fields="fields1" :layout="layout"><el-form-item class="clearfix"><el-button type="primary">立即創建</el-button><el-button>取消</el-button></el-form-item></auto-form></div> </template> <script>export default {data() {return {model2: {name: '',type: []},layout2: {align: 'left',labelWidth: '100px',custom: false, //是否自定義布局inline: true //是否內聯},fields2: [{key: 'name',type: 'input',templateOptions: {label: '審批人'}},{key: 'region',type: 'select',templateOptions: {label: '活動區域',placeholder: '請選擇活動區域',options: [{label: '區域一',value: 'shanghai'},{label: '區域二',value: 'beijing'}],validators:[ //校驗// {required:true,message:'必填'}// ""]}}]};}}; </script>復制代碼最終效果
添加自定義組件或者組件目錄
Vue.$autoform.RegisterDir(()=>require.context('./components/autoform', 'c'));//目錄 Vue.$autoform.Register(Vue,[Components...],{prefix: "c"}) //組件對象 復制代碼cHello.vue
// PATH:/components/autoform/cHello.vue <template><div><div><p>基本的變量可以通過"mixins"獲取,這里有開發組件需要的一些變量</p><p>自定義子組件:Hello</p><p>當前field: {{field}}</p><p>整個model: {{model}}</p><p>當前model: {{model[field.name]}}</p><p>layout: {{layout}}</p><p>字段相關配置to: {{to}}</p></div></div> </template><script>import {baseField} from "charlie-autoform";export default {mixins: [baseField],name: 'cHello',data () {return {};},methods: {},mounted(){//this.eventBus 事件總線}}; </script> 復制代碼成果
目前應用再多個系統
反饋
歡迎大家來敲: github
總結
以上是生活随笔為你收集整理的基于vue自动化表单实践的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 实现 VUE 中 MVVM - step
- 下一篇: numpy 读取txt为array 一行