其实问题很简单,在我们动态生成表单的时候记得要把字段在:model里面初始化,意思就是要先在data(){}里return{}的你的form字段里初始化出来!
举个例子:

				data(){
					return{
						form:{
							paramList:[]
						}
				   }
				}
				<el-form-item  v-for="(item,index) in form.paramList">
                  <el-input v-model="item.step"></el-input>
                </el-form-item>

比如说你的 form.paramListparamList是一个长短不定的数组,那我们可能就没法将form.paramList的字段全部写出来,这个时候假如我们知道要加载100个这样的step,那我们就需要在初始化的时候把所有的step都装进form.paramListparamList里:

			for (let t=0;x<100;x++) {
                form.paramListparamList[t].step='';
             }

而我遇到的情况是初始化完了以后还要根据下拉框选中的数据来渲染不同的样式,并且字段还不一样,我开始的时候就是只初始化了默认的数据的字段,另外一种数据的字段就没有初始化,所以导致一直无法输入,后来把根据下拉框选出来的所有的情况都初始化一遍以后就没问题了!

Logo

前往低代码交流专区

更多推荐