主頁 > 企業開發 > vue全家桶進階之路43:Vue3 Element Plus el-form表單組件

vue全家桶進階之路43:Vue3 Element Plus el-form表單組件

2023-04-21 08:21:30 企業開發

在 Element Plus 中,el-form 是一個表單組件,用于創建表單以便用戶填寫和提交資料,它提供了許多內置的驗證規則和驗證方法,使表單驗證更加容易,

使用 el-form 組件,您可以將表單控制元件組織在一起,并對表單進行驗證,以確保提交的資料符合預期的格式和要求,該組件具有以下特性:

  • 支持內置的驗證規則和自定義驗證函式,
  • 可以通過設定 model 屬性將表單資料系結到表單組件上,
  • 支持表單驗證前和驗證后的回呼函式,
  • 提供了一些常見的表單控制元件,如輸入框、下拉框、單選框、復選框等,

在功能和用法上,el-form 組件在 Element Plus 和 ElementUI 中是相似的,但是在一些細節上有一些變化,

以下是 Element Plus 和 ElementUI 中 el-form 組件的一些主要變化:

  1. 引入方式:ElementUI 使用 Vue.use(ElementUI) 的方式引入組件,而 Element Plus 使用 import 匯入組件,例如,在 Vue 3 中使用 Element Plus,我們需要這樣匯入 el-form 組件:
    • import { ElForm } from 'element-plus'
  2. 樣式:Element Plus 使用新的默認主題和樣式,不同于 ElementUI 的默認主題和樣式,您可以使用 Element Plus 提供的主題樣式或自定義主題樣式,

  3. 表單驗證:在 Element Plus 中,表單驗證通過 this.$refs.form.validate() 方法執行,而在 ElementUI 中,表單驗證通過 this.$refs.form.validate((valid) => {}) 方法執行,這是因為在 Element Plus 中,表單驗證的回呼函式是一個可選引數,

  4. 表單控制元件:Element Plus 中添加了一些新的表單控制元件,如 TimePickerDatePickerTreeSelect 等,而在 ElementUI 中,這些表單控制元件是在 el-date-pickerel-time-pickerel-cascader 等組件中提供的,

  5. 翻譯:Element Plus 支持更多的語言翻譯,并且可以通過自定義翻譯物件來支持更多的語言,而在 ElementUI 中,只有默認的語言翻譯和幾個語言包可用,

 

總之,Element Plus 是 ElementUI 的升級版,提供了更多的表單控制元件和功能,同時還改進了一些細節和樣式,雖然兩者之間有一些變化,但是如果您已經熟悉了 ElementUI 的 el-form 組件,那么您將會很快地適應 Element Plus 的使用,

 

el-form 是 Element Plus 中的表單組件,以下是 el-form 常用的屬性和方法:

常用屬性

  • model:用于系結表單資料物件,可以使用 v-model 系結到表單元素,例如,<el-input v-model="formData.username"></el-input>
  • rules:用于設定表單驗證規則,規則是一個陣列,其中每個物件表示一個驗證規則,例如,rules: { username: [ { required: true, message: '請輸入用戶名', trigger: 'blur' } ] }
  • label-width:用于設定表單元素的標簽寬度,
  • label-position:用于設定表單元素標簽的位置,可選值有 'right''left''top''bottom'
  • inline:用于設定是否為行內表單,
  • disabled:用于設定是否禁用表單,

常用方法

  • validate:用于觸發表單驗證,如果驗證成功,執行回呼函式并傳遞 true,否則傳遞 false,例如,formRef.value.validate((valid) => { if (valid) { // 表單驗證成功 } else { // 表單驗證失敗 } })
  • resetFields:用于重置表單資料和驗證狀態,
  • clearValidate:用于清除表單驗證狀態,
  • validateField:用于觸發指定表單元素的驗證,例如,formRef.value.validateField('username', (errorMessage) => { if (errorMessage) { // 驗證失敗 } else { // 驗證成功 } })
  • submit:用于提交表單資料,需要指定一個回呼函式,該函式在提交成功或失敗時被呼叫,例如,formRef.value.submit((formData) => { // 表單提交成功 }, (error) => { // 表單提交失敗 })

這些是 el-form 常用的屬性和方法,當然,還有其他屬性和方法可以在需要時使用,在 Element Plus 的官方檔案中,您可以找到更詳細的檔案和示例,

 

 

 

下面是一個簡單的 el-form 示例,包括一個輸入框和一個提交按鈕:

<template>
  <el-form ref="form" :model="formData" :rules="rules">
    <el-form-item label="Username" prop="username">
      <el-input v-model="formData.username"></el-input>
    </el-form-item>
    <el-form-item>
      <el-button type="primary" @click="submitForm">Submit</el-button>
    </el-form-item>
  </el-form>
</template>

<script>
import { ref } from 'vue'
import { ElForm, ElFormItem, ElInput, ElButton } from 'element-plus'

export default {
  components: {
    ElForm,
    ElFormItem,
    ElInput,
    ElButton,
  },
  setup() {
    const formData = ref({
      username: '',
    })

    const rules = ref({
      username: [
        { required: true, message: 'Username is required', trigger: 'blur' },
        { min: 3, max: 16, message: 'Length should be between 3 and 16', trigger: 'blur' }
      ]
    })

    const submitForm = () => {
      formRef.value.validate(valid => {
        if (valid) {
          // Submit form data
        } else {
          console.log('Validation failed')
          return false
        }
      })
    }

    const formRef = ref(null)

    return {
      formData,
      rules,
      submitForm,
      formRef,
    }
  }
}
</script>

 

轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/550705.html

標籤:其他

上一篇:【Vue2.x原始碼系列07】監聽器watch原理

下一篇:返回列表

標籤雲
其他(157743) Python(38083) JavaScript(25379) Java(17984) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1917) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • IEEE1588PTP在數字化變電站時鐘同步方面的應用

    IEEE1588ptp在數字化變電站時鐘同步方面的應用 京準電子科技官微——ahjzsz 一、電力系統時間同步基本概況 隨著對IEC 61850標準研究的不斷深入,國內外學者提出基于IEC61850通信標準體系建設數字化變電站的發展思路。數字化變電站與常規變電站的顯著區別在于程序層傳統的電流/電壓互 ......

    uj5u.com 2020-09-10 03:51:52 more
  • HTTP request smuggling CL.TE

    CL.TE 簡介 前端通過Content-Length處理請求,通過反向代理或者負載均衡將請求轉發到后端,后端Transfer-Encoding優先級較高,以TE處理請求造成安全問題。 檢測 發送如下資料包 POST / HTTP/1.1 Host: ac391f7e1e9af821806e890 ......

    uj5u.com 2020-09-10 03:52:11 more
  • 網路滲透資料大全單——漏洞庫篇

    網路滲透資料大全單——漏洞庫篇漏洞庫 NVD ——美國國家漏洞庫 →http://nvd.nist.gov/。 CERT ——美國國家應急回應中心 →https://www.us-cert.gov/ OSVDB ——開源漏洞庫 →http://osvdb.org Bugtraq ——賽門鐵克 →ht ......

    uj5u.com 2020-09-10 03:52:15 more
  • 京準講述NTP時鐘服務器應用及原理

    京準講述NTP時鐘服務器應用及原理京準講述NTP時鐘服務器應用及原理 安徽京準電子科技官微——ahjzsz 北斗授時原理 授時是指接識訓通過某種方式獲得本地時間與北斗標準時間的鐘差,然后調整本地時鐘使時差控制在一定的精度范圍內。 衛星導航系統通常由三部分組成:導航授時衛星、地面檢測校正維護系統和用戶 ......

    uj5u.com 2020-09-10 03:52:25 more
  • 利用北斗衛星系統設計NTP網路時間服務器

    利用北斗衛星系統設計NTP網路時間服務器 利用北斗衛星系統設計NTP網路時間服務器 安徽京準電子科技官微——ahjzsz 概述 NTP網路時間服務器是一款支持NTP和SNTP網路時間同步協議,高精度、大容量、高品質的高科技時鐘產品。 NTP網路時間服務器設備采用冗余架構設計,高精度時鐘直接來源于北斗 ......

    uj5u.com 2020-09-10 03:52:35 more
  • 詳細解讀電力系統各種對時方式

    詳細解讀電力系統各種對時方式 詳細解讀電力系統各種對時方式 安徽京準電子科技官微——ahjzsz,更多資料請添加VX 衛星同步時鐘是我京準公司開發研制的應用衛星授時時技術的標準時間顯示和發送的裝置,該裝置以M國全球定位系統(GLOBAL POSITIONING SYSTEM,縮寫為GPS)或者我國北 ......

    uj5u.com 2020-09-10 03:52:45 more
  • 如何保證外包團隊接入企業內網安全

    不管企業規模的大小,只要企業想省錢,那么企業的某些服務就一定會采用外包的形式,然而看似美好又經濟的策略,其實也有不好的一面。下面我通過安全的角度來聊聊使用外包團的安全隱患問題。 先看看什么服務會使用外包的,最常見的就是話務/客服這種需要大量重復性、無技術性的服務,或者是一些銷售外包、特殊的職能外包等 ......

    uj5u.com 2020-09-10 03:52:57 more
  • PHP漏洞之【整型數字型SQL注入】

    0x01 什么是SQL注入 SQL是一種注入攻擊,通過前端帶入后端資料庫進行惡意的SQL陳述句查詢。 0x02 SQL整型注入原理 SQL注入一般發生在動態網站URL地址里,當然也會發生在其它地發,如登錄框等等也會存在注入,只要是和資料庫打交道的地方都有可能存在。 如這里http://192.168. ......

    uj5u.com 2020-09-10 03:55:40 more
  • [GXYCTF2019]禁止套娃

    git泄露獲取原始碼 使用GET傳參,引數為exp 經過三層過濾執行 第一層過濾偽協議,第二層過濾帶引數的函式,第三層過濾一些函式 preg_replace('/[a-z,_]+\((?R)?\)/', NULL, $_GET['exp'] (?R)參考當前正則運算式,相當于匹配函式里的引數 因此傳遞 ......

    uj5u.com 2020-09-10 03:56:07 more
  • 等保2.0實施流程

    流程 結論 ......

    uj5u.com 2020-09-10 03:56:16 more
最新发布
  • vue全家桶進階之路43:Vue3 Element Plus el-form表單組件

    在 Element Plus 中,el-form 是一個表單組件,用于創建表單以便用戶填寫和提交資料。它提供了許多內置的驗證規則和驗證方法,使表單驗證更加容易。 使用 el-form 組件,您可以將表單控制元件組織在一起,并對表單進行驗證,以確保提交的資料符合預期的格式和要求。該組件具有以下特性: 支持 ......

    uj5u.com 2023-04-21 08:21:30 more
  • 【Vue2.x原始碼系列07】監聽器watch原理

    本章目標:監聽器是如何實作的?監聽器選項 - immediate、deep 內部實作?在初始化Vue實體時,我們會給每個偵聽器都創建一個對應watcher,我們稱之為偵聽器watcher ......

    uj5u.com 2023-04-21 08:21:26 more
  • JS中的for in和for of

    在JavaScript中, for...in 和 for...of 都是用于迭代回圈的結構: 1. for...in 回圈: for...in 回圈主要用于遍歷物件的可列舉屬性。這種回圈不僅遍歷物件自身的屬性,還會遍歷原型鏈上的可列舉屬性。它的語法如下: for (variable in objec ......

    uj5u.com 2023-04-21 08:21:22 more
  • 執行背景關系

    變數提升與函式提升 變數宣告提升 通過var定義(宣告)的變數--在定義陳述句之前就可以訪問到 值為undefined console.log(a); //undefined var a = 1; //執行順序 var a; console.log(a); a = 1; 函式宣告提升 通過functi ......

    uj5u.com 2023-04-21 08:15:57 more
  • JavaScript 簡寫語法

    JavaScript 簡寫語法 1、簡寫的閉包自執行函式(Immediately Invoked Function Expression (IIFE)) 使用括號將函式定義包裹起來,再在末尾加上另一對括號,即可創建一個自執行函式。例如: (() => { console.log("Hello, wo ......

    uj5u.com 2023-04-21 08:15:51 more
  • JS中的for in和for of

    在JavaScript中, for...in 和 for...of 都是用于迭代回圈的結構: 1. for...in 回圈: for...in 回圈主要用于遍歷物件的可列舉屬性。這種回圈不僅遍歷物件自身的屬性,還會遍歷原型鏈上的可列舉屬性。它的語法如下: for (variable in objec ......

    uj5u.com 2023-04-21 08:13:34 more
  • 探索FSM (有限狀態機)應用

    我們是袋鼠云數堆疊 UED 團隊,致力于打造優秀的一站式資料中臺產品。我們始終保持工匠精神,探索前端道路,為社區積累并傳播經驗價值。。 本文作者:木杪 有限狀態機(FSM) 是計算機科學中的一種數學模型,可用于表示和控制系統的行為。它由一組狀態以及定義在這些狀態上的轉換函陣列成。FSM 被廣泛用于計算 ......

    uj5u.com 2023-04-21 08:13:02 more
  • 微信小程式隱藏頁面滾動條

    開發小程式時,經常會碰到頁面長度超過螢屏高度,然后下拉時會出現滾動條,對于一些有強迫癥的人來說是不可忍受的。 網上看了好多,寫的。都評論有起作用或者不起作用的。 我在這分享一個全域隱藏滾動條的方式。 樣式代碼我們在app.wxss中,寫一個類選擇器: .contain { height: 100vh ......

    uj5u.com 2023-04-21 08:12:52 more
  • ORACLE Apex: EBS多組織結構 理解與配置

    ORACLE EBS :多組織結構 理解與配置 Oracle APEX中文社區|Oracle APEX資源|Oracle APEX學習|EBS開發|EBS INTERFACE|Oracle EBS開發|Oracle資料庫開發|EBS API| 多組織結構 多組織結構 ORACLE EBS一個很大的賣 ......

    uj5u.com 2023-04-21 08:12:25 more
  • 使用Django Rest framework搭建Blog

    在前面的Blog例子中我們使用的是GraphQL, 雖然GraphQL的使用處于上升趨勢,但是Rest API還是使用的更廣泛一些. 所以還是決定回到傳統的rest api framework上來, Django rest framework的官網上給了一個很好用的QuickStart, 我參考Qu ......

    uj5u.com 2023-04-20 08:17:54 more