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

el-form 多層級表單的實現示例

 更新時間:2020年09月10日 14:23:36   作者:小豪看世界  
這篇文章主要介紹了el-form 多層級表單的實現示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

前言

本篇文章基于 vue、element-ui

需求

前端開發(fā)過程中,經常遇到表單開發(fā)的需求,element-ui 為我們帶來了極大的便利,前端只需要更專注于前端邏輯。

我們往往會遇到相對復雜的表單,比如下面的表單:

我們設計的時候可以把它設計成 3 級表單,即劃分表單到每一個校驗項(輸入框,下拉框的等)

最終實現效果如下圖所示:

實現

el-form 使用,詳情可參見: Form 表單

有幾個比較重要的屬性:

  • ref 相當于標簽的 id
  • model 表單數據對象
  • rules 表單驗證規(guī)則
  • prop 表單域 model 字段
  • label 標簽文本

在提交按鈕的時候,執(zhí)行validate方法即可;實時校驗可在rules中設置校驗項 trigger: 'change'即可

1.el-form 設計

劃分表單到每一個校驗項(輸入框,下拉框的等),可以設計成 3 級表單

獎勵設置 這一個校驗項稍微復雜一點,可以動態(tài)綁定 model 和 rules 實現子項的表單校驗

<!-- 一級表單 -->
<el-form class="form" ref="form" :model="form" :rules="form_rules" size="small">
 <el-form-item label="紅包活動標題" prop="name">
 <el-input v-model='form.name' placeholder="請輸入紅包活動標題(活動展示)" />
 </el-form-item>
 <el-form-item :label="`獎勵設置(${form.seconde_form.length}/${max_reward_module_num})`" prop="seconde_form">
 <el-card class="reward_module" v-for="(second_form, second_form_index) in form.seconde_form" :key="`${second_form_index}_second_form`">
  <!-- 二級表單 -->
  <el-form class="second_form" :ref="`second_form_${second_form_index}`" :model="second_form" :disabled="is_form_item_disabled" inline size="small">
  <el-form-item prop="packet_name" :key="`${second_form_index}_packet_name`" :rules="[{ required: true, message: '請輸入獎勵名稱', trigger: 'change' }]" style="width:150px;margin-right:20px;">
   <el-input v-model="second_form.packet_name" />
  </el-form-item>
  </el-form>
 </el-card>
 </el-form-item>
</el-form>

2.el-form-item 子項校驗

校驗比較簡單,只需要獲取到每一個表單對象,并執(zhí)行validate即可,二級表單就遍歷拿到二級表單獨享執(zhí)行同樣的操作

定義 form 數據模型:

form: {
 name: '',
 seconde_form: [
 {
  packet_name: '',
 },
 ],
},

封裝一個 check_form 方法

/**
 * 表單校驗方法
 * @param {String} form_name
 */
function $check_form(form_name) {
 const form_component = this.$refs[form_name][0] ? this.$refs[form_name][0] : this.$refs[form_name];
 return new Promise((resolve, reject) => {
 form_component.validate(valid => {
  if (valid) {
  resolve();
  } else {
  reject();
  }
 });
 });
}

點擊按鈕的時候執(zhí)行 checkParam 方法

async checkParam(form_name) {
 try {
 await this.$check_form(form_name);
 for (let i = 0; i < this.form.seconde_form.length; i++) {
  await this.$check_form(`second_form_${i}`);
 }
 // next step do something
 } catch (e) {
 console.log(e);
 }
},

到此這篇關于el-form 多層級表單的實現示例的文章就介紹到這了,更多相關el-form 多層級表單內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Vue2.x通用條件搜索組件的封裝及應用詳解

    Vue2.x通用條件搜索組件的封裝及應用詳解

    這篇文章主要為大家詳細介紹了Vue2.x通用條件搜索組件的封裝及應用,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-05-05
  • vue中el-form-item展開項居中的實現方式

    vue中el-form-item展開項居中的實現方式

    這篇文章主要介紹了vue中el-form-item展開項居中的實現方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • vue結合g6實現樹級結構(compactBox?緊湊樹)

    vue結合g6實現樹級結構(compactBox?緊湊樹)

    本文主要介紹了vue結合g6實現樹級結構,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-06-06
  • 如何修改vant的less樣式變量

    如何修改vant的less樣式變量

    這篇文章主要介紹了如何修改vant的less樣式變量方法,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • elementUI el-input 只能輸入正整數驗證的操作方法

    elementUI el-input 只能輸入正整數驗證的操作方法

    這篇文章主要介紹了elementUI el-input 只能輸入正整數驗證,本文給大家詳細講解對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-11-11
  • Ant Design Pro 之 ProTable使用操作

    Ant Design Pro 之 ProTable使用操作

    這篇文章主要介紹了Ant Design Pro 之 ProTable使用操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-10-10
  • vue如何下載本地pdf文件

    vue如何下載本地pdf文件

    這篇文章主要介紹了vue如何下載本地pdf文件問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-04-04
  • 在Vue中用canvas實現二維碼和圖片合成海報的方法

    在Vue中用canvas實現二維碼和圖片合成海報的方法

    這篇文章主要介紹了在Vue中用canvas實現二維碼和圖片合成海報的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-06-06
  • vue使用dagre-d3畫流程圖的完整代碼

    vue使用dagre-d3畫流程圖的完整代碼

    這篇文章主要給大家介紹了關于vue使用dagre-d3畫流程圖的完整代碼,dagre-d3.js是一個用于在Vue.js框架中實現DAG(有向無環(huán)圖)可視化的庫,它結合了vue.js、dagre和d3.js這三個庫的功能,需要的朋友可以參考下
    2024-02-02
  • 快速解決Vue、element-ui的resetFields()方法重置表單無效的問題

    快速解決Vue、element-ui的resetFields()方法重置表單無效的問題

    這篇文章主要介紹了快速解決Vue、element-ui的resetFields()方法重置表單無效的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-08-08

最新評論