项目中使用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表单了
网友评论