最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

關(guān)于element的表單組件整理筆記

 更新時(shí)間:2021年02月05日 10:28:05   作者:LZPP  
這篇文章主要給大家介紹了關(guān)于element的表單組件的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

element表單及代碼的展示

詳細(xì)可以看element表單官方網(wǎng)址

結(jié)構(gòu)、功能分析

通過(guò)介紹以及源碼可以發(fā)現(xiàn),表單是具有收集、校驗(yàn)、提交數(shù)據(jù)三個(gè)功能的。

他的基本結(jié)構(gòu)如下:

<el-form :model="ruleForm" :rules="rules" ref="ruleForm">
 <el-form-item label="賬號(hào)" prop="name">
 <el-input v-model="ruleForm.name"></el-input>
 </el-form-item>
</el-form>

通用組件的特點(diǎn)就是:高內(nèi)聚、低耦合,根據(jù)這個(gè)特點(diǎn),我們所要寫(xiě)的組件就應(yīng)該是一個(gè)模塊負(fù)責(zé)一個(gè)功能(功能單一、提高復(fù)用性),同時(shí)減少他們之間交互帶來(lái)的不良影響。

分析上面源碼的基本結(jié)構(gòu):

form:model:rules 分別是用于接受數(shù)據(jù)模型校驗(yàn)規(guī)則、使用ref屬性進(jìn)行了注冊(cè),方便后續(xù)操作DOM

item: 通過(guò)prop得到當(dāng)前數(shù)據(jù)的值

input: 雙向綁定管理數(shù)據(jù)

那么就可以得知他們分別負(fù)責(zé)的功能是收集、校驗(yàn)、提交數(shù)據(jù)

那么下面就用我們最常見(jiàn)的登錄注冊(cè)功能來(lái)從小往大開(kāi)始寫(xiě)一遍代碼

input組件實(shí)現(xiàn)

首先明確目標(biāo):input組件只需要實(shí)現(xiàn)雙向綁定,起到管理數(shù)據(jù)的功能即可

雙向綁定的實(shí)現(xiàn)需要用到v-model,在以往學(xué)習(xí)過(guò)程中,v-model語(yǔ)法糖其實(shí)是可以拆分成v-bing:value、v-on:input兩個(gè),在綁定數(shù)據(jù)的時(shí)候同時(shí)監(jiān)聽(tīng)事件。

下面粘貼一些代碼截圖,方便下面記錄:

父組件:

子組件:

首先明確Input需要實(shí)現(xiàn)的功能:通過(guò)雙向綁定維護(hù)數(shù)據(jù)

那么只需要搞懂雙向綁定的值與監(jiān)聽(tīng)的事件分別是什么就行。

為了方便管理數(shù)據(jù),input子組件里綁定的值應(yīng)該是父組件傳進(jìn)來(lái)的值

值得注意的是:在子組件的input事件里,一般是一個(gè)單向數(shù)據(jù)流,那么當(dāng)數(shù)據(jù)發(fā)生變化的時(shí)候,只需要派生一個(gè)事件給父組件,再通過(guò)監(jiān)聽(tīng)父組件傳進(jìn)來(lái)的值,從而實(shí)現(xiàn)改變數(shù)據(jù),實(shí)現(xiàn)一個(gè)父?jìng)髯?、子傳父的單向循環(huán)

item組件的實(shí)現(xiàn)

父組件:

子組件:

item子組件需要完成的功能為:校驗(yàn)

我們先寫(xiě)一個(gè)模板,校驗(yàn)功能等到后面再完善

form組件的實(shí)現(xiàn)

父組件:

子組件:

form實(shí)現(xiàn)的功能:接收數(shù)據(jù)和校驗(yàn)規(guī)則

所以需要聲明這兩個(gè)屬性方便接收

基本的框架都完成了,下面就是核心問(wèn)題

核心問(wèn)題

 ①在form里接受的數(shù)據(jù)和規(guī)則,但是需要用的地方卻是在item里,那么我們?cè)趺窗阎祩飨氯ツ?=> provide和inject

雖然目前我們要用到的值只有imformation和rules,但是為了方便,我們傳的值是this,這樣以后就可以通過(guò)this,在子代拿到父代以及更高級(jí)的實(shí)例.

在form組件里加入provide

其他需要用的數(shù)據(jù)的組件里加入inject

使用例子:

②通知校驗(yàn)、進(jìn)行校驗(yàn)

在input組件里派發(fā)一個(gè)事件給自己的父級(jí)item,通知它校驗(yàn)

在item里接收這個(gè)事件并實(shí)現(xiàn)

在validate方法里,首先我們要獲取到校驗(yàn)的規(guī)則和需要被校驗(yàn)的值,那么我們之前通過(guò)provide和inject已經(jīng)把值傳下來(lái)了,現(xiàn)在通過(guò)在item里加一個(gè)prop,這樣就可以通過(guò)prop定位拿到我們想要的值

接下來(lái)我們安裝一個(gè)第三方庫(kù) npm i async-validator -S(可以執(zhí)行很多異步的校驗(yàn)規(guī)則)

async-validator使用

然后在item里引入使用


到這里其實(shí)基本就算完成了,為了更好的使用,一般是有一個(gè)提交按鈕,點(diǎn)擊后再進(jìn)行全局校驗(yàn)的

提交功能

父組件:

form子組件:

到這里就算是完成了,感謝大家的觀看,本人只是個(gè)小菜雞,如果大家發(fā)現(xiàn)有什么地方不對(duì)的,請(qǐng)立馬提出你寶貴的意見(jiàn)糾正我,謝謝

總結(jié)

到此這篇關(guān)于關(guān)于element表單組件的文章就介紹到這了,更多相關(guān)element表單組件內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Vue.js中前端如何處理從后端返回的Excel文件流詳解

    Vue.js中前端如何處理從后端返回的Excel文件流詳解

    這篇文章主要介紹了如何在Vue項(xiàng)目中使用axios處理后端返回的Excel文件流,并提供下載功能,文中通過(guò)代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2025-01-01
  • vue 保留兩位小數(shù) 不能直接用toFixed(2) 的解決

    vue 保留兩位小數(shù) 不能直接用toFixed(2) 的解決

    這篇文章主要介紹了vue 保留兩位小數(shù) 不能直接用toFixed(2) 的解決操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-08-08
  • vue2從template到render模板編譯入口詳解

    vue2從template到render模板編譯入口詳解

    這篇文章主要為大家介紹了vue2從template到render模板編譯入口詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-08-08
  • 詳解vue.js2.0父組件點(diǎn)擊觸發(fā)子組件方法

    詳解vue.js2.0父組件點(diǎn)擊觸發(fā)子組件方法

    本篇文章主要介紹了詳解vue.js2.0父組件點(diǎn)擊觸發(fā)子組件方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-05-05
  • vue-cli 3.0 引入mint-ui報(bào)錯(cuò)問(wèn)題及解決

    vue-cli 3.0 引入mint-ui報(bào)錯(cuò)問(wèn)題及解決

    這篇文章主要介紹了vue-cli 3.0 引入mint-ui報(bào)錯(cuò)問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • Vuejs開(kāi)發(fā)環(huán)境搭建及熱更新【推薦】

    Vuejs開(kāi)發(fā)環(huán)境搭建及熱更新【推薦】

    Vue.js是目前很火的一個(gè)前端框架,采用MVVM模式設(shè)計(jì),它是以數(shù)據(jù)驅(qū)動(dòng)和組件化的思想構(gòu)建的。本文重點(diǎn)給大家介紹Vuejs開(kāi)發(fā)環(huán)境搭建及熱更新的相關(guān)知識(shí),需要的朋友參考下吧
    2018-09-09
  • Vue中$router.push()路由切換及如何傳參和獲取參數(shù)

    Vue中$router.push()路由切換及如何傳參和獲取參數(shù)

    這篇文章主要給大家介紹了關(guān)于Vue中$router.push()路由切換及如何傳參和獲取參數(shù)的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用vue具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2023-03-03
  • vue頁(yè)面加載時(shí)的進(jìn)度條功能(實(shí)例代碼)

    vue頁(yè)面加載時(shí)的進(jìn)度條功能(實(shí)例代碼)

    這篇文章主要介紹了vue頁(yè)面加載時(shí)的進(jìn)度條功能,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-01-01
  • flutter使用tauri實(shí)現(xiàn)一個(gè)一鍵視頻轉(zhuǎn)4K軟件

    flutter使用tauri實(shí)現(xiàn)一個(gè)一鍵視頻轉(zhuǎn)4K軟件

    這篇文章主要為大家介紹了flutter使用tauri實(shí)現(xiàn)一個(gè)一鍵視頻轉(zhuǎn)4K軟件詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-09-09
  • Vue利用watch偵聽(tīng)器模擬實(shí)現(xiàn)翻譯功能

    Vue利用watch偵聽(tīng)器模擬實(shí)現(xiàn)翻譯功能

    本期將會(huì)介紹 Vue 中的 watch 偵聽(tīng)器,它語(yǔ)法是怎么樣的呢?具有怎樣的功能呢?最后用模擬實(shí)現(xiàn)百度翻譯來(lái)更進(jìn)一步練習(xí) watch 偵聽(tīng)器,需要的朋友可以參考下
    2024-11-11

最新評(píng)論

元阳县| 五河县| 泗水县| 乌恰县| 珲春市| 延安市| 婺源县| 微山县| 韩城市| 平遥县| 荥经县| 琼中| 哈巴河县| 海盐县| 佛坪县| 淄博市| 和静县| 招远市| 高碑店市| 西安市| 桑植县| 靖边县| 宜兴市| 岑溪市| 都匀市| 丰原市| 南充市| 志丹县| 泽普县| 麦盖提县| 张家界市| 外汇| 阿拉善右旗| 东莞市| 六盘水市| 吐鲁番市| 土默特左旗| 秦皇岛市| 天水市| 陵水| 鹤庆县|