欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

vue自動化表單實例分析

 更新時間:2018年05月06日 15:09:16   作者:CharlieLau  
本篇文章通過實例給大家分享了vue自動化表單的操作方法以及相關的代碼做了描述,有興趣的朋友可以跟著學習下。

背景

B端系統(tǒng)表單較多,且表單可能含有較多字段
字段較多的表單帶來了大片HTML代碼
在大片HTML中,混雜著參數(shù)綁定、事件處理等邏輯,不利于維護
技術棧 Vue,Element(默認表單布局)適合中后臺項目快速開發(fā)

目標

通過json配置快速生成表單的vue plugin。

設計目標

  1. 減少html 重復片段
  2. 表單字段組件可擴展
  3. 事件、聯(lián)動通過eventbus 解耦
  4. 校驗可擴展
  5. 表單布局可自定義
  6. 可視化配置

大概方案設計

使用

安裝

npm install charlie-autoform charlie-autoform_component_lib

源碼:https://charlielau.github.io/autoform/#/component/autoform

引入插件

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">立即創(chuàng)建</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 //是否內聯(lián)
  },
  fields2: [
   {
   key: 'name',
   type: 'input',
   templateOptions: {
    label: '審批人'
   }
   },
   {
   key: 'region',
   type: 'select',
   templateOptions: {
    label: '活動區(qū)域',
    placeholder: '請選擇活動區(qū)域',
    options: [
    {
     label: '區(qū)域一',
     value: 'shanghai'
    },
    {
     label: '區(qū)域二',
     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"獲取,這里有開發(fā)組件需要的一些變量</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>

成果

目前應用再多個系統(tǒng)

定性: 維護成本降低、關注點分離
定量:表單開發(fā)效率提升50%

源碼:https://github.com/CharlieLau/autoform

相關文章

  • 詳解Vue計算屬性原理

    詳解Vue計算屬性原理

    計算屬性是Vue中比較好用的API,開發(fā)者可以利用計算屬將復雜的計算進行緩存,同時基于它的響應式特性,我們無需關注數(shù)據(jù)更新問題,但需要注意的是,計算屬性是惰性求值的,本文將詳細介紹計算屬性的實現(xiàn)原理,需要的朋友可以參考下
    2023-05-05
  • vue3集成echarts數(shù)據(jù)刷新后圖表不刷新的解決方法

    vue3集成echarts數(shù)據(jù)刷新后圖表不刷新的解決方法

    vue3 集成 echarts 最大的坑就是出現(xiàn)了,reactive 的數(shù)據(jù) 刷新了,但圖表缺不會刷新,所以本文就給大家詳細的介紹一下vue3集成echarts數(shù)據(jù)刷新后圖表不刷新的解決方法,需要的朋友可以參考下
    2023-08-08
  • 解決Vue_localStorage本地存儲和本地取值問題

    解決Vue_localStorage本地存儲和本地取值問題

    這篇文章主要介紹了解決Vue_localStorage本地存儲和本地取值問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-07-07
  • vue實現(xiàn)記事本案例

    vue實現(xiàn)記事本案例

    這篇文章主要為大家詳細介紹了vue實現(xiàn)記事本案例,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • vue3常用的指令之v-bind和v-on指令用法

    vue3常用的指令之v-bind和v-on指令用法

    vue的v-on與v-bind,v-on就是用于綁定事件的,下面這篇文章主要給大家介紹了關于vue3常用的指令之v-bind和v-on指令用法的相關資料,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2023-12-12
  • vue生命周期與鉤子函數(shù)簡單示例

    vue生命周期與鉤子函數(shù)簡單示例

    這篇文章主要介紹了vue生命周期與鉤子函數(shù),結合簡單實例形式分析了vue.js生命周期及鉤子函數(shù)相關流程與實現(xiàn)技巧,需要的朋友可以參考下
    2019-03-03
  • Vue組件之全局組件與局部組件的使用詳解

    Vue組件之全局組件與局部組件的使用詳解

    本篇文章主要介紹了Vue組件之全局組件與局部組件的使用詳解,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-10-10
  • el-table?表格分頁序號問題小結

    el-table?表格分頁序號問題小結

    這篇文章主要介紹了el-table?表格分頁序號問題小結,本文通過實例代碼圖文效果展示給大家介紹的非常詳細,感興趣的朋友跟隨小編一起看看吧
    2024-04-04
  • Element Steps步驟條的使用方法

    Element Steps步驟條的使用方法

    這篇文章主要介紹了Element Steps步驟條的使用方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-07-07
  • vuejs2.0實現(xiàn)一個簡單的分頁示例

    vuejs2.0實現(xiàn)一個簡單的分頁示例

    本篇文章主要介紹了vuejs2.0實現(xiàn)一個簡單的分頁示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-02-02

最新評論