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

el-form 多層級(jí)表單的實(shí)現(xiàn)示例

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

前言

本篇文章基于 vue、element-ui

需求

前端開(kāi)發(fā)過(guò)程中,經(jīng)常遇到表單開(kāi)發(fā)的需求,element-ui 為我們帶來(lái)了極大的便利,前端只需要更專(zhuān)注于前端邏輯。

我們往往會(huì)遇到相對(duì)復(fù)雜的表單,比如下面的表單:

我們?cè)O(shè)計(jì)的時(shí)候可以把它設(shè)計(jì)成 3 級(jí)表單,即劃分表單到每一個(gè)校驗(yàn)項(xiàng)(輸入框,下拉框的等)

最終實(shí)現(xiàn)效果如下圖所示:

實(shí)現(xiàn)

el-form 使用,詳情可參見(jiàn): Form 表單

有幾個(gè)比較重要的屬性:

  • ref 相當(dāng)于標(biāo)簽的 id
  • model 表單數(shù)據(jù)對(duì)象
  • rules 表單驗(yàn)證規(guī)則
  • prop 表單域 model 字段
  • label 標(biāo)簽文本

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

1.el-form 設(shè)計(jì)

劃分表單到每一個(gè)校驗(yàn)項(xiàng)(輸入框,下拉框的等),可以設(shè)計(jì)成 3 級(jí)表單

獎(jiǎng)勵(lì)設(shè)置 這一個(gè)校驗(yàn)項(xiàng)稍微復(fù)雜一點(diǎn),可以動(dòng)態(tài)綁定 model 和 rules 實(shí)現(xiàn)子項(xiàng)的表單校驗(yàn)

<!-- 一級(jí)表單 -->
<el-form class="form" ref="form" :model="form" :rules="form_rules" size="small">
 <el-form-item label="紅包活動(dòng)標(biāo)題" prop="name">
 <el-input v-model='form.name' placeholder="請(qǐng)輸入紅包活動(dòng)標(biāo)題(活動(dòng)展示)" />
 </el-form-item>
 <el-form-item :label="`獎(jiǎng)勵(lì)設(shè)置(${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`">
  <!-- 二級(jí)表單 -->
  <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: '請(qǐng)輸入獎(jiǎng)勵(lì)名稱(chēng)', 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 子項(xiàng)校驗(yàn)

校驗(yàn)比較簡(jiǎn)單,只需要獲取到每一個(gè)表單對(duì)象,并執(zhí)行validate即可,二級(jí)表單就遍歷拿到二級(jí)表單獨(dú)享執(zhí)行同樣的操作

定義 form 數(shù)據(jù)模型:

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

封裝一個(gè) check_form 方法

/**
 * 表單校驗(yàn)方法
 * @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();
  }
 });
 });
}

點(diǎn)擊按鈕的時(shí)候執(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);
 }
},

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

相關(guān)文章

  • Vue2.x通用條件搜索組件的封裝及應(yīng)用詳解

    Vue2.x通用條件搜索組件的封裝及應(yīng)用詳解

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

    vue中el-form-item展開(kāi)項(xiàng)居中的實(shí)現(xiàn)方式

    這篇文章主要介紹了vue中el-form-item展開(kāi)項(xiàng)居中的實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • vue結(jié)合g6實(shí)現(xiàn)樹(shù)級(jí)結(jié)構(gòu)(compactBox?緊湊樹(shù))

    vue結(jié)合g6實(shí)現(xiàn)樹(shù)級(jí)結(jié)構(gòu)(compactBox?緊湊樹(shù))

    本文主要介紹了vue結(jié)合g6實(shí)現(xiàn)樹(shù)級(jí)結(jié)構(gòu),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-06-06
  • 如何修改vant的less樣式變量

    如何修改vant的less樣式變量

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

    elementUI el-input 只能輸入正整數(shù)驗(yàn)證的操作方法

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

    Ant Design Pro 之 ProTable使用操作

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

    vue如何下載本地pdf文件

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

    在Vue中用canvas實(shí)現(xiàn)二維碼和圖片合成海報(bào)的方法

    這篇文章主要介紹了在Vue中用canvas實(shí)現(xiàn)二維碼和圖片合成海報(bào)的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • vue使用dagre-d3畫(huà)流程圖的完整代碼

    vue使用dagre-d3畫(huà)流程圖的完整代碼

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

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

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

最新評(píng)論