vxe-table的编辑表格只校验临时变动的数据

使用官网上的完整校验

复制代码
  async fullValidEvent () {
              const errMap = await this.$refs.xTable.fullValidate().catch(errMap => errMap)
              if (errMap) {
                let msgList = []
                Object.values(errMap).forEach(errList => {
                  errList.forEach(params => {
                    let { rowIndex, column, rules } = params
                    rules.forEach(rule => {
                      msgList.push(`第 ${rowIndex} 行 ${column.title} 校验错误:${rule.message}`)
                    })
                  })
                })
                this.$XModal.message({
                  status: 'error',
                  slots: {
                    default () {
                      return [
                        <div class="red" style="max-height: 400px;overflow: auto;">
                          {
                            msgList.map(msg => <div>{ msg }</div>)
                          }
                        </div>
                      ]
                    }
                  }
                })
              } else {
                this.$XModal.message({ status: 'success', message: '校验成功!' })
              }
            }

表格第一次校验的时候,做了整体校验,校验不通过,当有添加行或者删除行的时候,便只校验操作行,便校验通过了。

原因:

解决:只需要加上fullValidate()方法加上true即可

const errMap = await this.$refs.xTable.fullValidate(true).catch(errMap => errMap)

相关推荐
止观止4 分钟前
不止解构:深入掌握 ES6+ 对象与函数的高级语法糖
前端·javascript·es6
C_心欲无痕8 分钟前
react - useTransition标记低优先级更新
前端·react.js·前端框架
捻tua馔...11 分钟前
antd3的表单实现(HOC解决方案)
前端·javascript·react.js
支付宝体验科技12 分钟前
支付宝 KJS Compose 动态化方案与架构设计
前端·客户端
AllinLin23 分钟前
JS中的call apply bind全面解析
前端·javascript·vue.js
阿乐去买菜27 分钟前
2025 年末 TypeScript 趋势洞察:AI Agent 与 TS 7.0 的原生化革命
前端
POLITE328 分钟前
Leetcode 438. 找到字符串中所有字母异位词 JavaScript (Day 4)
javascript·算法·leetcode
创思通信30 分钟前
STM32F103C8T6采 DS18B20,通过A7680C 4G模块不断发送短信到手机
javascript·stm32·智能手机
海绵宝龙33 分钟前
Vue 中的 Diff 算法
前端·vue.js·算法
zhougl99634 分钟前
vue中App.vue和index.html冲突问题
javascript·vue.js·html