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

Vue3使用el-form嵌套el-table進行單條數(shù)據(jù)的表單校驗功能

 更新時間:2024年08月22日 10:49:42   作者:前端學(xué)步  
在實際開發(fā)過程中,我們經(jīng)常需要處理表格中的表單數(shù)據(jù),比如在編輯表格中的某一行數(shù)據(jù)時進行校驗,本文給大家介紹了Vue3使用el-form嵌套el-table進行單條數(shù)據(jù)的表單校驗功能,文中有相關(guān)的代碼供大家參考,需要的朋友可以參考下

概述

在實際開發(fā)過程中,我們經(jīng)常需要處理表格中的表單數(shù)據(jù),比如在編輯表格中的某一行數(shù)據(jù)時進行校驗。本文將介紹如何在 Vue3 和 Element Plus 中實現(xiàn)這一功能。

示例代碼

<template>
  <div>
    <el-form ref="formRef" :model="formObj" :rules="rules">
      <el-table :data="formObj.list">
        <el-table-column label="名稱" align="center">
          <template #default="scope">
            <el-form-item
              :prop="'list.' + scope.$index + '.name'"
              :rules="[
                { required: true, message: '名稱不能為空', trigger: 'blur' },
              ]"
            >
              <el-input v-model="scope.row.name" />
            </el-form-item>
            <el-form-item
              :prop="'list.' + scope.$index + '.desc'"
              :rules="[
                { required: true, message: '描述不能為空', trigger: 'blur' },
              ]"
            >
              <el-input v-model="scope.row.desc" />
            </el-form-item>
          </template>
        </el-table-column>
      </el-table>
    </el-form>
  </div>
</template>
 
<script setup>
import { ref } from 'vue';
 
let formObj = ref({
  list: [
    {
      name: '',
      desc: ''
    }
  ],
});
 
const formRef = ref(null);
 
const rules = {
  // 這里不需要單獨定義規(guī)則,因為已經(jīng)在模板中指定了
};
 
// 提交表單
const submitForm = () => {
  formRef.value.validate((valid) => {
    if (valid) {
      console.log('表單提交成功');
      // 進行表單提交邏輯
    } else {
      console.log('表單驗證失敗');
      return false;
    }
  });
};
</script>
 
<style>
</style>

分析

1. 定義表單數(shù)據(jù)

在這個例子中,我們使用了一個名為 formObj 的響應(yīng)式對象來存儲表格的數(shù)據(jù)。formObj 包含一個名為 list 的數(shù)組,數(shù)組中的每個元素都代表表格中的一行。

let formObj = ref({
  list: [
    {
      name: '',
      desc: ''
    }
  ],
});

2. 表單和表格的結(jié)合

在模板中,我們使用 <el-form> 組件包裹整個表格,并將 formObj 作為 model 傳入。這意味著整個表單將與 formObj 的數(shù)據(jù)綁定在一起。

<el-form ref="formRef" :model="formObj" :rules="rules">
  <el-table :data="formObj.list">
    <!-- 表格列內(nèi)容 -->
  </el-table>
</el-form>

3. 單條數(shù)據(jù)的校驗

為了實現(xiàn)每一條數(shù)據(jù)的獨立校驗,我們需要在 <el-form-item> 中指定 prop 屬性。這里我們使用模板字符串動態(tài)生成 prop 的值,使其能夠指向表格中特定行的特定字段。

<el-form-item
  :prop="'list.' + scope.$index + '.name'"
  :rules="[
    { required: true, message: '名稱不能為空', trigger: 'blur' },
  ]"
>
  <el-input v-model="scope.row.name" />
</el-form-item>

4. 提交表單

當(dāng)用戶點擊提交按鈕時,我們可以通過調(diào)用 <el-form> 的 validate 方法來觸發(fā)表單驗證。

const submitForm = () => {
  formRef.value.validate((valid) => {
    if (valid) {
      console.log('表單提交成功');
      // 進行表單提交邏輯
    } else {
      console.log('表單驗證失敗');
      return false;
    }
  });
};

總結(jié)

通過上述方法,我們可以實現(xiàn)在 Vue3 中使用 Element Plus 的 <el-form> 組件嵌套 <el-table> 進行單條數(shù)據(jù)的表單校驗。這在實際項目中非常有用,尤其是需要用戶輸入大量數(shù)據(jù)并進行實時驗證的場景下。

到此這篇關(guān)于Vue3使用el-form嵌套el-table進行單條數(shù)據(jù)的表單校驗功能的文章就介紹到這了,更多相關(guān)Vue3 el-form嵌套el-table表單校驗內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 基于Vue 擼一個指令實現(xiàn)拖拽功能

    基于Vue 擼一個指令實現(xiàn)拖拽功能

    這篇文章主要介紹了Vue 指令實現(xiàn)拖拽功能,實現(xiàn)原理很簡單,文中通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-10-10
  • Vue3 核心特性Suspense 與 Teleport 原理解析

    Vue3 核心特性Suspense 與 Teleport 原理解析

    本文詳細解析了Vue3的核心特性Suspense和Teleport,包括它們的實現(xiàn)原理、核心源碼、生命周期流程、依賴追蹤機制等,通過深入理解這兩個API的設(shè)計哲學(xué),開發(fā)者可以提升代碼組織能力、優(yōu)化應(yīng)用性能和實現(xiàn)更優(yōu)雅的架構(gòu)設(shè)計,感興趣的朋友一起看看吧
    2025-03-03
  • Vue?props傳入function時的this指向問題解讀

    Vue?props傳入function時的this指向問題解讀

    這篇文章主要介紹了Vue?props傳入function時的this指向問題解讀,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-01-01
  • vue3在構(gòu)建時使用魔法糖語法時defineProps和defineEmits的注意事項小結(jié)

    vue3在構(gòu)建時使用魔法糖語法時defineProps和defineEmits的注意事項小結(jié)

    在 Vue 3.2+ 版本中,可以使用 <script setup> 替代傳統(tǒng)的 script標簽來編寫組件,它提供了更簡潔的語法來編寫 Composition API 代碼,這篇文章主要介紹了vue3在構(gòu)建時使用魔法糖語法時defineProps和defineEmits的注意事項小結(jié),需要的朋友可以參考下
    2024-04-04
  • vue-cli構(gòu)建的項目如何手動添加eslint配置

    vue-cli構(gòu)建的項目如何手動添加eslint配置

    這篇文章主要介紹了vue-cli構(gòu)建的項目如何手動添加eslint配置,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-04-04
  • vue類名如何獲取動態(tài)生成的元素

    vue類名如何獲取動態(tài)生成的元素

    這篇文章主要介紹了vue類名如何獲取動態(tài)生成的元素,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-04-04
  • 如何理解Vue的render函數(shù)的具體用法

    如何理解Vue的render函數(shù)的具體用法

    本篇文章主要介紹了如何理解Vue的render函數(shù)的具體用法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-08-08
  • vue +elementui 導(dǎo)入CSV文件的方式

    vue +elementui 導(dǎo)入CSV文件的方式

    封裝一個公共js方法,使用papaparse解析CSV文件且返回數(shù)組格式,下面通過示例代碼介紹vue +elementui 導(dǎo)入CSV文件的方式,感興趣的朋友一起看看吧
    2024-04-04
  • 深入了解Vue中單向數(shù)據(jù)流的原理與管理

    深入了解Vue中單向數(shù)據(jù)流的原理與管理

    在Vue中,數(shù)據(jù)流是指數(shù)據(jù)的傳遞和管理方式,而Vue采用的是單向數(shù)據(jù)流,所以這篇文章就來就來和大家講講什么是Vue的數(shù)據(jù)流以及如何進行數(shù)據(jù)流管理,感興趣的可以了解一下
    2023-06-06
  • vue中require與import的區(qū)別詳解

    vue中require與import的區(qū)別詳解

    這篇文章主要介紹了vue中require與import的區(qū)別詳解,require相當(dāng)于module.exports的傳送門,module.exports后面的內(nèi)容是什么,require的結(jié)果就是什么,對象、數(shù)字、字符串、函數(shù),再把require的結(jié)果賦值給某個變量,需要的朋友可以參考下
    2023-10-10

最新評論

醴陵市| 庄浪县| 五常市| 盐池县| 会东县| 长沙县| 合作市| 西吉县| 昆山市| 楚雄市| 揭西县| 额敏县| 永春县| 大厂| 陆丰市| 阿荣旗| 延庆县| 静安区| 博罗县| 松潘县| 叶城县| 鸡泽县| 巢湖市| 亳州市| 淮南市| 平邑县| 茶陵县| 句容市| 祁阳县| 历史| 连南| 哈巴河县| 抚宁县| 剑川县| 普格县| 贵溪市| 定远县| 同心县| 常德市| 舟山市| 内江市|