<div v-for="(item, index) in parameters" :key="index"> <el-form-item :label="item.value + item.remark"> <el-input v-if="item.type == 0" v-model=""></el-input> <el-radio-group v-model="processSelfTestEditForm.parameter" v-if="item.type == 1" > <el-radio label="合格" size="large">合格</el-radio> <el-radio label="不合格" size="large">不合格</el-radio> </el-radio-group> </el-form-item> </div> 动态渲染时怎么拿到每一个input 的v-model
时间: 2024-02-25 22:53:26 浏览: 50
解决v-for中使用v-if或者v-bind:class失效的问题
在动态渲染时,可以通过绑定一个动态的 `v-model` 来获取每个 `input` 的值。具体的做法是,在每个 `input` 上绑定一个动态的 `v-model`,这个 `v-model` 对应的变量是一个对象的属性,属性名可以通过 `item.key` 来获取。这样,在提交表单时,就可以通过这个对象来获取每个 `input` 的值了。具体代码如下:
```
<el-form :model="formData" ref="form">
<div v-for="(item, index) in parameters" :key="index">
<el-form-item :label="item.value + item.remark">
<el-input v-model="formData[item.key]" v-if="item.type === 0"></el-input>
<el-radio-group v-model="formData[item.key]" v-if="item.type === 1">
<el-radio label="合格" size="large">合格</el-radio>
<el-radio label="不合格" size="large">不合格</el-radio>
</el-radio-group>
</el-form-item>
</div>
</el-form>
```
在这个例子中,我们使用了一个对象 `formData` 来存储每一个 `input` 的值。我们可以在 `v-model` 中绑定 `formData[item.key]`,这里的 `item.key` 代表每一个 `input` 对应的属性名。在提交表单时,我们可以通过 `this.$refs.form.validate()` 方法获取到 `formData` 对象,并将其传递给后端。
阅读全文