我在一个页面中生成了多个单选按钮组。每个组包含两个项目 - 是和否
<div v-if="row.answer_input_type === 'Radio Button'">
<template v-for="answer in answers" >
<template v-if="answer.AnswerTypeID === row.answer_type_id">
<template v-for="answerdesc in answer.AnswerDescription">
<p>{{answerdesc.AnswerMasterID}}</p>
<input type="radio" v-bind:value="answerdesc.AnswerMasterID" v-bind:name="row.question_id" v-bind:id="answerdesc.AnswerMasterID" v-bind:disabled="row.is_enabled == 1 ? false : true" v-on:click="rdoClick(row.question_id, answerdesc.AnswerMasterID)" v-model="answer.selected_option" />
<label v-bind:for="answerdesc.AnswerMasterID">{{answerdesc.AnswerDescription}}</label>
</template>
</template>
</template>
</div>
但是无论何时在单选按钮组中更改选择,都会在所有其他单选按钮组中反映出相同的内容。也就是说,如果我在所有其他组中的一个组中选择是,则选择是。但v模型各有所不同。如何解决/纠正这个?感谢
答案 0 :(得分:1)
单选按钮以名称为基础。并且您的name
似乎对于一个组来说是相同的,而对于不同的答案组则是不同的。
答案 1 :(得分:1)
使用单选按钮的名称,如下面的代码所示,您的单选按钮应采用表格形式。
例如:name =“ gender”
<form action="post">
<div>
<div class="label">Gender <span class="required">*</span></div>
<label>
<input type="radio" required name="gender" v-model="gender" value="F">F
</label>
<label>
<input type="radio" required name="gender" v-model="gender" value="M">M
</label>
</div>
<button type="button">Submit</button>
</form>
答案 2 :(得分:0)
Vue尝试尽可能高效地渲染元素,经常重新使用它们而不是从头开始渲染。
这并不总是令人满意的,因此Vue为您提供了一种方式,“元素是完全独立的-请勿重复使用。”为此,请添加具有唯一值的key属性。
在此处阅读更多信息:https://vuejs.org/v2/guide/conditional.html#Controlling-Reusable-Elements-with-key