溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

vue中怎么實現一個自動化表單

發布時間:2021-07-21 14:44:02 來源:億速云 閱讀:183 作者:Leah 欄目:web開發

這期內容當中小編將會給大家帶來有關vue中怎么實現一個自動化表單,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

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

設計目標

  1. 減少html 重復片段

  2. 表單字段組件可擴展

  3. 事件、聯動通過eventbus 解耦

  4. 校驗可擴展

  5. 表單布局可自定義

  6. 可視化配置

大概方案設計

vue中怎么實現一個自動化表單

使用

安裝

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">立即創建</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中怎么實現一個自動化表單

添加自定義組件或者組件目錄

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>

上述就是小編為大家分享的vue中怎么實現一個自動化表單了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

vue
AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女