element表单和vxe表单联动校验的实现

vxetable表单编辑列全局校验 表单的结构如下

js 复制代码
<el-form
        :model="ruleForm"
        :disabled="method == 'view'"
        :loading="loading"
        ref="ruleForm"
        class="info-form"
        size="mini"
      >
        <vxe-table
          style="width: 100%"
          border
          align="center"
          resizable
          show-overflow
          :data="ruleForm.planRoadfList"
          :edit-config="{
            trigger: 'dblclick',
            mode: 'row',
            beforeEditMethod: () => method != 'view',
            showStatus: true,  // 显示校验报错
          }"
          ref="rev_vxeTable1"
          :edit-rules="{ // 对表格中的编辑数据进行校验
            name: [
              { required: true, message: '名字必须填写' },
            ],

          }"
        >
        
        </vxe-table></el-form
      >

父组件内调用提交按钮时进行校验:

js 复制代码
this.$refs["form" + this.currentNodeId].$refs["ruleForm"].validate(
        async (valid1) => {
          console.log('valid1', valid1)
          if (valid1) {
            console.log('第一层校验通过')
            if(this.currentNodeId == '23'){ 
            // rev_vxeTable1被ruleForm包裹需要手动触发vxe校验 
              const errMap = await this.$refs["form" + this.currentNodeId].$refs["rev_vxeTable1"].validate(true)
              // 设置为true是校验整个表格的所有行、所有字段,vxe表单内全局校验
              // 会遍历data中的每一行,
              // 对每一行中配置了 `editRules` 的字段都执行校验。
              console.log('errMap', errMap, Object.prototype.toString.call(errMap))
              // 可以查看未通过校验的信息和errMap结构
              if (errMap) {
                console.error('信息没填完')
                return this.$message.warning('请完善填写信息');

              } else {
                console.log('vxe校验通过')
                提交逻辑
相关推荐
空&白2 小时前
vue暗黑模式
javascript·vue.js
css趣多多3 小时前
一个UI内置组件el-scrollbar
前端·javascript·vue.js
-凌凌漆-3 小时前
【vue】pinia中的值使用 v-model绑定出现[object Object]
javascript·vue.js·ecmascript
大橙子额5 小时前
【解决报错】Cannot assign to read only property ‘exports‘ of object ‘#<Object>‘
前端·javascript·vue.js
LYFlied6 小时前
从 Vue 到 React,再到 React Native:资深前端开发者的平滑过渡指南
vue.js·react native·react.js
B站_计算机毕业设计之家7 小时前
豆瓣电影数据采集分析推荐系统 | Python Vue Flask框架 LSTM Echarts多技术融合开发 毕业设计源码 计算机
vue.js·python·机器学习·flask·echarts·lstm·推荐算法
xjt_09018 小时前
基于 Vue 3 构建企业级 Web Components 组件库
前端·javascript·vue.js
我是伪码农8 小时前
Vue 2.3
前端·javascript·vue.js
跳动的梦想家h9 小时前
环境配置 + AI 提效双管齐下
java·vue.js·spring
Mr Xu_10 小时前
Vue 3 中 watch 的使用详解:监听响应式数据变化的利器
前端·javascript·vue.js