element-ui 表格添加校验

这篇具有很好参考价值的文章主要介绍了element-ui 表格添加校验。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

  html片段

     <el-form
        ref="tableFrom"
        class="tableForm"
        :model="tableFrom"
        :rules="tableFromRules"
      >
        <el-table
          :data="tableFrom.tableData"
          style="width: 100%"
          height="400px"
        >
          <el-table-column label="SAP物料编码" min-width="120">
            <template slot-scope="scope">
              <el-form-item
                :prop="'tableData.' + scope.$index + '.sapMaterialsNo'"
                :rules="tableFromRules.sapMaterialsNo"
              >
                <el-input
                  v-model="scope.row.sapMaterialsNo"
                  placeholder="请输入"
                ></el-input>
                <span class="item-error" slot="error" slot-scope="scope">{{
                  scope.error
                }}</span>
              </el-form-item>
            </template>
          </el-table-column>
          <el-table-column label="类别">
            <template slot-scope="scope">
              <el-form-item
                :prop="'tableData.' + scope.$index + '.materialsType'"
                :rules="tableFromRules.materialsType"
              >
                <el-input
                  v-model="scope.row.materialsType"
                  placeholder="请输入"
                ></el-input>
                <span class="item-error" slot="error" slot-scope="scope">{{
                  scope.error
                }}</span>
              </el-form-item>
            </template>
          </el-table-column>
          <el-table-column label="物料名称">
            <template slot-scope="scope">
              <el-form-item
                :prop="'tableData.' + scope.$index + '.materialsName'"
                :rules="tableFromRules.materialsName"
              >
                <el-input
                  v-model="scope.row.materialsName"
                  placeholder="请输入"
                ></el-input>
                <span class="item-error" slot="error" slot-scope="scope">{{
                  scope.error
                }}</span>
              </el-form-item>
            </template>
          </el-table-column>
          <el-table-column label="物料描述">
            <template slot-scope="scope">
              <el-form-item
                :prop="'tableData.' + scope.$index + '.materialsMemo'"
                :rules="tableFromRules.materialsMemo"
              >
                <el-input
                  v-model="scope.row.materialsMemo"
                  placeholder="请输入"
                ></el-input>
                <span class="item-error" slot="error" slot-scope="scope">{{
                  scope.error
                }}</span>
              </el-form-item>
            </template>
          </el-table-column>
          <el-table-column label="产品系列">
            <template slot-scope="scope">
              <el-form-item
                :prop="'tableData.' + scope.$index + '.series'"
                :rules="tableFromRules.series"
              >
                <el-input
                  v-model="scope.row.series"
                  placeholder="请输入"
                ></el-input>
                <span class="item-error" slot="error" slot-scope="scope">{{
                  scope.error
                }}</span>
              </el-form-item>
            </template>
          </el-table-column>
          <el-table-column label="机座号">
            <template slot-scope="scope">
              <el-form-item
                :prop="'tableData.' + scope.$index + '.frameNumber'"
                :rules="tableFromRules.frameNumber"
              >
                <el-input
                  v-model="scope.row.frameNumber"
                  placeholder="请输入"
                ></el-input>
                <span class="item-error" slot="error" slot-scope="scope">{{
                  scope.error
                }}</span>
              </el-form-item>
            </template>
          </el-table-column>
          <el-table-column label="功率">
            <template slot-scope="scope">
              <el-form-item
                :prop="'tableData.' + scope.$index + '.power'"
                :rules="tableFromRules.power"
              >
                <el-input
                  v-model="scope.row.power"
                  placeholder="请输入"
                ></el-input>
                <span class="item-error" slot="error" slot-scope="scope">{{
                  scope.error
                }}</span>
              </el-form-item>
            </template>
          </el-table-column>
          <el-table-column label="级数">
            <template slot-scope="scope">
              <el-form-item
                :prop="'tableData.' + scope.$index + '.level'"
                :rules="tableFromRules.level"
              >
                <el-input
                  v-model="scope.row.level"
                  placeholder="请输入"
                ></el-input>
                <span class="item-error" slot="error" slot-scope="scope">{{
                  scope.error
                }}</span>
              </el-form-item>
            </template>
          </el-table-column>
          <el-table-column label="操作" min-width="80">
            <template slot-scope="scope">
              <el-button type="text" @click="del(scope.$index)">删除</el-button>
            </template>
          </el-table-column>
        </el-table>
        <el-button
          type="primary"
          icon="el-icon-plus"
          plain
          style="margin-top: 10px; width: 100%"
          @click="add()"
          >添加
        </el-button>
      </el-form>

    js片段

 tableFrom: {
        tableData: [],
      },
      tableFromRules: {
        sapMaterialsNo: [
          {
            required: true,
            message: "SAP物料编码不能为空",
            trigger: ["blur", "change"],
          },
        ],
        materialsType: [
          {
            required: true,
            message: "类别不能为空",
            trigger: ["blur", "change"],
          },
        ],
        materialsName: [
          {
            required: true,
            message: "物料名称不能为空",
            trigger: ["blur", "change"],
          },
        ],
        materialsMemo: [
          {
            required: true,
            message: "物料描述不能为空",
            trigger: ["blur", "change"],
          },
        ],
        series: [
          {
            required: true,
            message: "产品系列不能为空",
            trigger: ["blur", "change"],
          },
        ],
        frameNumber: [
          {
            required: true,
            message: "机座号不能为空",
            trigger: ["blur", "change"],
          },
        ],
        power: [
          {
            required: true,
            message: "功率不能为空",
            trigger: ["blur", "change"],
          },
        ],
        level: [
          {
            required: true,
            message: "级数不能为空",
            trigger: ["blur", "change"],
          },
        ],
        mainUnit: [
          {
            required: true,
            message: "维护单位不能为空",
            trigger: ["blur", "change"],
          },
        ],
      },

css片段文章来源地址https://www.toymoban.com/news/detail-555222.html

::v-deep .tableForm {
  .el-form-item {
    margin-bottom: 0;
  }
.el-form-item--medium .el-form-item__content{
  line-height: 20px;
}
  .item-error {
    color: #ff4949;
    font-size: 12px;
    line-height: 1;
    padding-top: 4px;
  }
}

到了这里,关于element-ui 表格添加校验的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Vue Element-ui表单校验规则

      Element-ui表单校验规则,使得错误提示可以直接在form-item下面显示,无需弹出框,因此还是很好用的。   我在做了登录页面的表单校验后,一度以为我已经很了解表单的校验规则。但我在深入使用表单校验规则时,遇到下列问题: 如何判断属性值是否在某个范围内,且

    2024年02月03日
    浏览(81)
  • elementUI 表单数据的校验回显在关闭之后没有重置,再次打开表单之后还显示校验信息(重置表单 element-ui的resetFields()方法不生效)

    问题现象: 因为和修改用的同一个vue页面,所以只要点开修改之后,直接点击添加,就会显示校验的提示信息,也就是表单信息没有重置   解决方法: 解决方法一:在关闭弹框的地方或者需要重置的地方调用: 截图实例:  下面是userInfo的具体展现   解决方法二:如果上面

    2024年02月15日
    浏览(56)
  • Vue+Element-ui实现表格嵌套表格(表头不同)

    data中integrateList根据后端返回的json数据确定,其格式为:

    2024年02月14日
    浏览(67)
  • Vue + element-ui form rules 校验特殊格式数据(嵌套校验)

     问题描述: ①     需要多层数据嵌套 表单验证失效 ②     表单验证事件  prop 匹配不到数据,value值undefined 。   首先 在页面有一个新增功能  如下图 : 泛化答案数据格式与正常表单验证数据格式不同 (如图):     对象内嵌套 多层嵌套后 校验数组内的值  表单内

    2024年02月08日
    浏览(44)
  • Vue Element-ui Table表格排序

    一.表格中有时候会有排序的需求,如果只针对当前页进行排序,那么前端就可以实现排序,在对应需要排序的字段中,使用sortable字段即可。 二.存在分页的情况时,前端仅仅使用sortable当前页排序已经不能满足我们的需求,无法对所有数据进行排序。这时候我们就要使用后端

    2024年02月11日
    浏览(51)
  • vue element-ui表格组件动态多级表头

    实际项目的需求,需要根据后端动态获取的方式来初始化表格的表头包含哪些信息,且有很多信息是有规律的,所以我们需要Element UI动态生成多级表头。需要的效果图如下: 由于统计维度是可变化的(它可以是省市也可以是区县),所以需要专门设置一个表格的数据来保存

    2024年02月10日
    浏览(55)
  • vue+element-ui+springboot 在线表格编辑

    方法: 编辑excel 格式为需要的样子,另存为html 打开files文件,复制html部分代码和样式到vue文件 将需要编辑的部分使用控件填入 代码: 特别地: 服装列数可变,需要动态变换,同时有的可编辑,有的不可编辑 增加表格行数,可通过增加memberList 数据进行动态添加和删除,无

    2024年01月24日
    浏览(50)
  • (vue)element-ui 表格实现勾选单选

    效果: 重选后: 解决参考:https://blog.csdn.net/m0_58373910/article/details/125912828

    2024年02月12日
    浏览(45)
  • vue搭配element-ui前端实现表格分页

    如果不从后台请求数据,那么就需要在前端手动管理数据。可以使用以下步骤实现该功能: 在 Vue 组件的 data 中定义一个数组来存放所有数据(不分页)。 在 mounted 钩子函数中,手动获取数据并存放到上一步定义的数组中。 在模板中使用 element-ui 的表格组件来展示数据,同

    2024年02月11日
    浏览(44)
  • vue+elementui项目打包后部署到测试环境icon全部丢失【element-ui】大版本升级element-ui后,icon全部丢失

    问题:vue+elementui项目打包后部署到测试环境icon全部丢失【element-ui】大版本升级element-ui后,icon全部丢失 解决办法及原因: elementui在2.12版本中icon数量较之2.4.9版本的扩展2倍不止。原来webpack中对于字体loader的限制是limit10000,就会将字体转换为base64,2.12版本中字节已经超过

    2024年02月16日
    浏览(70)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包