vue+elementUI 进行表格行内新增及校验,同行其他输入框数据影响当前输入框校验结果

现有需求如下:

当表格同一行内本次核验数不为0时,所属仓库必填。

那么问题的就转换为,在所属仓库做校验时,必须拿到同行的数据.解决代码如下:

javascript 复制代码
<!--其他部分都正常写,此处重点展示所属仓库这一栏的写法-->
<el-table-column
  label="所属仓库"
  align="center"
  prop="storeId"
>
  <template slot-scope="scope">
    <el-form-item
      label=""
      :prop="'dataList.' + scope.$index + '.storeId'"
      :rules="[
        {
          validator: (rule, value, callback) => {
            return isStoreIdRequired(rule, value, callback, scope.row);
          },
          trigger: 'blur',
        },
      ]"
    >
      <el-select
        v-model="scope.row.storeId"
        filterable
        placeholder="请选择所属仓库"
      >
        <el-option
          v-for="dict in storeList"
          :key="dict.storeId + ''"
          :label="dict.storeName"
          :value="dict.storeId + ''"
        >
          <span style="float: left">{{ dict.storeCode }}</span>
          <span style="float: right; color: #8492a6; font-size: 13px">{{
            dict.storeName
          }}</span>
        </el-option>
      </el-select>
    </el-form-item>
  </template>
</el-table-column>
------校验方法↓----
isStoreIdRequired(rule, value, callback, row, index) {
//thisNum 为本次核验数
  if (row.thisNum == 0) {
    callback();
  } else if (row.thisNum != 0 && value) {
    callback();
  } else {
    callback(new Error("本次核验数不为0时,所属仓库必填"));
  }
},
相关推荐
NGBQ121385 分钟前
Adobe-Premiere-Pro-2026-26.0.2.2-m0nkrus 全解析:专业视频编辑软件深度指南
前端·adobe·音视频
北城笑笑6 分钟前
Chrome:Paused in debugger 的踩坑实录:问题排查全过程与终极解决方案( 在调试器中暂停 )
前端·chrome
haorooms8 分钟前
Promise.try () 完全指南
前端·javascript
kyriewen9 分钟前
闭包:那个“赖着不走”的家伙,到底有什么用?
前端·javascript·ecmascript 6
斌味代码13 分钟前
el-popover跳转页面不隐藏,el-popover销毁
前端·javascript·vue.js
该怎么办呢13 分钟前
cesium核心代码学习-01项目目录及其基本作用
前端·3d·源码·webgl·cesium·webgis
踩着两条虫20 分钟前
AI 驱动的 Vue3 应用开发平台 深入探究(十九):CLI与工具链之Create VTJ CLI 参考
前端·ai编程·vite
天下无贼!31 分钟前
【Python】2026版——FastAPI 框架快速搭建后端服务
开发语言·前端·后端·python·aigc·fastapi
GISer_Jing1 小时前
两种AI交互方式深度解析——浏览器书签&插件
前端·人工智能·ai·prompt