美文网首页
element 动态渲染form表单,添加验证

element 动态渲染form表单,添加验证

作者: 有你有团 | 来源:发表于2020-04-13 20:16 被阅读0次

项目中使用element的表单作为查询筛选条件,表单是通过v-for循环生成的,数据绑定实现了,但是无法添加验证,也无法重置
下面是报错信息

Error in mounted hook: "Error: please transfer a valid prop path to form item!
由于我的数据是通过vm.$set()方式注入的,所以在mounted钩子中提示这个错误

刚开始我的写法是这样的,给prop绑定columnValue,不报错但是无法实现重置、验证

element官网


5304.png
<el-row >
      <el-col
        v-for="(col,index) in form.formListArr"
         :key="col.id"
          >
        <el-form-item :label="col.columnRemarks" prop="'columnValue'">
          <el-input  v-onlyNumber  v-model="col.columnValue"></el-input>
        </el-form-item>
    </el-col>
</el-row>

翻了很多资料发现很多种写法,但是大部分都是将form中的el-form-item全写一遍,后面跟上对应的属性,这样就和我的动态渲染,只有一个el-form-item去做循环遍历就相违背了


200.png

上面的写法虽然无法实现我的功能,但是也给我一定的启发,我前面直接绑定一个值给prop无法实现,那我用这种方法去做一些修改是否可以实现了?
下面将我的修改后代码贴出来

<el-row>
      <el-col
        v-for="(col,index) in form.formListArr"
         :key="col.id"
          >
        <el-form-item :label="col.columnRemarks" :prop="'formListArr.' + index +'.columnValue'">
          <el-input  v-onlyNumber  v-model="col.columnValue"></el-input>
        </el-form-item>
    </el-col>
</el-row>

注意点:循环数据一定要使用el-form 中:mode 绑定的里面的值

vue.esm.js?a026:628 [Vue warn]: Error in v-on handler: "Error: please transfer a valid prop path to form item!"

这样就实现了动态渲染form表单了

相关文章

网友评论

      本文标题:element 动态渲染form表单,添加验证

      本文链接:https://www.haomeiwen.com/subject/fsanmhtx.html