vue中element-ui表格嵌套表单使用并进行表单校验

news/2024/7/10 1:40:01 标签: vue, javascript

表格嵌套表单验证

表格数据一般都是由后台获取到的,我们需要在原有的数据上添加输入框并填写验证时,每一个输入框都需要验证,这样的话rules的规则是不能匹配的,现在可以采用动态的prop和rules规则,对需要验证的输入框进行验证

注意:

:prop="'tableData.' + scope.$index + '.proType' "

 :rules="form.rules.proType"(和每一个要验证的输入框对应)

<el-form ref="form" :model="form" :rules="form.rules">
              <el-table
                ref="singleTable"
                :data="form.tableData"
                class="theme"
                border
                :show-overflow-tooltip='true'
                style="width: 100%">
            <el-table-column type="index"
                             label="#"
                             width="50">
            </el-table-column>
              <el-table-column label="报价项目">
                <template slot-scope="scope">
                  <el-form-item 
                    :prop="'tableData.' + scope.$index + '.proName' "
                    :rules="form.rules.proName"
                    >
                    <el-input v-model="scope.row.proName" placeholder="输入报价项目"></el-input>
                  </el-form-item>
                </template>
              </el-table-column>
              
              <el-table-column label="计价方式">
                <template slot-scope="scope">
                  <el-form-item  
                  :prop="'tableData.' + scope.$index + '.proType' "
                  :rules="form.rules.proType"
                  >
                    <el-select v-model="scope.row.proType"  placeholder="请选择计价方式">
                      <el-option v-for="item in sipm_ids"
                       :key="item.id"
                       :label="item.name"
                       :value="item.id">
                    </el-option>
                    </el-select>
                  </el-form-item>
                </template>
              </el-table-column>
              <el-table-column label="数量">
                <template slot-scope="scope">
                  <el-form-item  
                  :prop="'tableData.' + scope.$index + '.proNum' "
                  :rules="form.rules.proNum"
                  >
                    <el-input
                      v-model.number="scope.row.proNum"
                      clearable
                      @keyup.native="handch(scope.row)"
                      @blur="scope.row.proNum = $event.target.value"
                      placeholder="请输入数量"
                      oninput="value=value.replace(/[^0-9.]/g,'')"
                    >
                   </el-input>
                  </el-form-item>
                </template>
              </el-table-column>
              <el-table-column label="单价">
                <template slot-scope="scope">
                  <el-form-item 
                  :prop="'tableData.' + scope.$index + '.proPic' "
                  :rules="form.rules.proPic"
                  >
                    <el-input
                      v-model.number="scope.row.proPic"
                      clearable
                      @keyup.native="handch(scope.row)"
                      @blur="scope.row.proPic = $event.target.value"
                      placeholder="请输入单价"
                      oninput="value=value.replace(/[^0-9.]/g,'')"
                    >
                   </el-input>
                  </el-form-item>
                </template>
              </el-table-column>
              <el-table-column label="总价">
                <template slot-scope="scope">
                  {{scope.row.money?scope.row.money:'---'}}
                </template>
              </el-table-column>


            </el-table>

在data中定义变量

 


http://www.niftyadmin.cn/n/1410184.html

相关文章

德州扑克逻辑设计

德州扑克基本玩法&#xff1a;  每个牌手发2张底牌&#xff0c;然后再依次发5张公共牌&#xff0c;每个牌手从手里的2张和5张公共牌中&#xff0c;选出5张组合成最大的牌组&#xff0c;与  其他人进行输赢比较。牌组大小规则&#xff1a;同花顺&#xff1e;四条&#xff1e…

python django MySQLdb 连接 mysql 5.5 中文乱码问题的解决

本来就想从网上抓取一些页面的内容&#xff0c;然后解析其中的一些正文&#xff0c;放到mysql数据里面。python抓取和解析页面查看一些教程&#xff0c;很快也就解决了。可是&#xff0c;之后的问题画了将近两天的时间才搞定。。那就是中文编码的问题。 最开始出现的问题是&…

Vue项目中md5加密

1、npm安装&#xff1a; npm install --save js-md52、使用&#xff1a; &#xff08;1&#xff09;项目文件中引入 md5(md5) // 加密&#xff08;2&#xff09;main.js文件中将md5转换成vue原型 import md5 from js-md5;Vue.prototype.$md5 md5;在需要用到的文件中使用&…

ubuntu 安装 phpmyadmin

ubuntu 安装 phpmyadmin 安装步骤 1 apt-get install phpmyadmin 2 安装完后默认的安装位置是在/usr/share 而不是在/var/www 所以 需要将其链接到/var/www来&#xff0c;复制的话貌似需要改配置文件&#xff0c;相当麻烦。 链接命令 ln -s /usr/share/phpmyadmin /var/www/p…

测试我用WLW在CSDN上的第一篇博客

CSDN上写博客让人很纠结&#xff0c;因为很慢&#xff0c;而且会丢失信息&#xff0c;这让我很郁闷&#xff0c;为了这个我都想将CSDN上的博客搬家到CNBLOG上去了。但是发现使用WLW既可以写CSDN的博客&#xff0c;也可以写CNBLOG的博客&#xff0c;我有想试一下&#xff0c;如果…

Vue修改数组对象中的键名

Vue修改数组对象中的键名 /*** params date <array> 需要修改的json格式的数组* params newKey <string> 需要修改成的key值* params oldKey <string> 需要被修改的key值*/changeTreeDate(zf_jsonObj, newKey, oldKey) {let str JSON.stringify(zf_jsonObj…

Python 导入数据到mysql

Python 导入数据到mysql 从TXT文本转换数据到MYSQL数据库&#xff0c;接触一段时间python了 第一次写东西 用的是Python2.7 本来要用PY3K的&#xff0c;结果用的数据库链接不支持3K&#xff0c;在网上下载了一个3K的MYSQL驱动&#xff0c;结果编译失败。 #!/usr/bin/python#cod…

iOS中单例解释(中午小结之前的困惑)

我们在进行程序开发的过程中经常会用到单例&#xff1a;这里指得就是我们ARC中常见的单例&#xff1a;/*** 获取当前类单例对象*/static MPConfig *object nil; (MPConfig *)shared {static dispatch_once_t predicate 0;dispatch_once(&predicate, ^{ object [[self c…