vue3+elementPlus?table中添加輸入框并提交校驗
更新時間:2024年05月31日 10:49:56 作者:再希
這篇文章主要介紹了vue3+elementPlus?table里添加輸入框并提交校驗,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
<template> <div> <el-form :model="info" ref="forms"> <el-table ref="tableRef" :data="info.data" border> <el-table-column align="center" property="name" label="*姓名"> <template #default="row"> <el-form-item :prop="'data.' + row.$index + '.name'" :rules="formRules.name"> <el-input placeholder="請輸入姓名" v-model="info.data[row.$index].name" /> </el-form-item> </template> </el-table-column> <el-table-column align="center" property="role" label="角色"> <template #default="row"> <el-form-item :prop="'data.' + row.$index + '.role'" :rules="formRules.role"> <el-input placeholder="請輸入角色" v-model="info.data[row.$index].role" /> </el-form-item> </template> </el-table-column> </el-table> </el-form> <el-button type="primary" @click="submitForm()">Submit</el-button> </div> </template>
<script setup lang="ts"> import {ref, reactive} from 'vue' import type { FormInstance } from 'element-plus' let info:any = reactive({ data:[ { id: 0, name: '', role:'' },{ id: 1, name: '', role:'' } ] }) const formRules = reactive({ name: [{ required: true, message: '請輸入姓名', trigger: 'change' }], role: [{ required: true, message: '請輸入角色', trigger: 'change' }] }) const forms = ref<FormInstance>() const submitForm = async () => { if (!forms) return return await forms.value?.validate((valid: any) => { if (valid) { console.log('submit!') } else { console.log('error submit!') return false } }) } </script>
擴展:vue3+elementPlus table里添加輸入框并提交校驗
<template> <div style="display: flex; align-items: center"> <h3 style="margin-right: 20px">成員信息</h3> </div> <el-form :model="info" ref="forms"> <el-table :data="info.membersList" @selection-change="handleSelectionChange" > <el-table-column type="selection" width="55" /> <el-table-column type="index" label="序號" width="55" /> <el-table-column label="成員號碼" prop="userNumber"> <template #default="row"> <el-form-item :prop="'membersList.' + row.$index + '.userNumber'" :rules="formRules.userNumber" > <el-input placeholder="請輸入成員號碼" v-model="info.membersList[row.$index].userNumber" /> </el-form-item> </template> </el-table-column> <el-table-column label="機頂盒側mac" prop="age"> <template #default="row"> <el-form-item :prop="'membersList.' + row.$index + '.macCode'" :rules="formRules.macCode" > <el-input placeholder="請輸入機頂盒側mac" v-model="info.membersList[row.$index].macCode" /> </el-form-item> </template> </el-table-column> <el-table-column label="機頂盒stbid" prop="snCode"> <template #default="row"> <el-form-item :prop="'membersList.' + row.$index + '.snCode'" :rules="formRules.snCode" > <el-input placeholder="請輸入機頂盒stbid" v-model="info.membersList[row.$index].snCode" /> </el-form-item> </template> </el-table-column> <el-table-column label="電視賬號" prop="tvAccount"> <template #default="row"> <el-form-item :prop="'membersList.' + row.$index + '.tvAccount'" :rules="formRules.tvAccount" > <el-input placeholder="請輸入電視賬號" v-model="info.membersList[row.$index].tvAccount" /> </el-form-item> </template> </el-table-column> <el-table-column label="備注(如房間號)" prop="remark"> <template #default="row"> <el-form-item :prop="'membersList.' + row.$index + '.remark'" :rules="formRules.remark" > <el-input placeholder="請輸入備注(如房間號)" v-model="info.membersList[row.$index].remark" /> </el-form-item> </template> </el-table-column> <el-table-column label="操作"> <template #default="row"> <el-form-item :prop="'membersList.' + row.$index + '.oprcode'"> <el-select placeholder="請選擇操作類型" style="margin-right: 10px" v-model="info.membersList[row.$index].oprcode" > <el-option label="添加" value="01" /> <el-option label="刪除" value="02" /> </el-select> </el-form-item> </template> </el-table-column> </el-table> </el-form> </template>
<script setup name="index" lang="ts"> import { Search, Plus, Upload, Minus, Download, } from '@element-plus/icons-vue' import type { FormInstance } from 'element-plus' const { proxy } = getCurrentInstance() let info: any = reactive({ membersList: [], }) const formRules = reactive({ userNumber: [ { required: true, message: '請輸入成員號碼', trigger: 'blur' }, ], macCode: [ { required: true, message: '請輸入機頂盒側mac', trigger: 'blur' }, ], snCode: [{ required: true, message: '請輸入機頂盒stbid', trigger: 'blur' }], }) const forms = ref<FormInstance>() const save = async () => { if (!forms) return await forms.value?.validate((valid: any) => { if (valid) { } }) } </script>
到此這篇關于vue3+elementPlus table里添加輸入框并提交校驗的文章就介紹到這了,更多相關vue3 elementPlus table輸入框校驗內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
vue 實現(xiàn)axios攔截、頁面跳轉和token 驗證
這篇文章主要介紹了vue 實現(xiàn)axios攔截、頁面跳轉和token 驗證,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-07-07Vue中傳遞自定義參數(shù)到后端、后端獲取數(shù)據(jù)并使用Map接收參數(shù)
有些傳遞的參數(shù)是直接拼接到URL地址欄中的、但是為了統(tǒng)一管理、不能將傳遞的參數(shù)直接拼接到地址欄中,接下來通過本文給大家介紹Vue中傳遞自定義參數(shù)到后端、后端獲取數(shù)據(jù)并使用Map接收參數(shù),感興趣的朋友一起看看吧2022-10-10