请问vue如何绑定循环出来的radio和checkbox

请问vue如何绑定循环出来的radio和checkbox,数据是动态渲染出来的,

<ul class="topic">  
                <li v-for="(item1,index) in DXT" :key="index">
                  <p>{{item1.topicChild.title}}</p>
                  <ul class="topic_option">
                    <li class="ty-list-li" v-for="(item,key,index) in item1.topicChild.contentMap" :key="key">
                      <div class="answer">
                        <input :id="item1.id+index" type="radio" class="ty-list-input" name="" :value="key">
                        <label :for="item1.id+index">{{key}}</label>
                      </div>
                      <p>{{item}}</p>
                    </li>
                  </ul>
                </li>
              </ul>

像这样,DXT是获取回来每一项题目,contentMap是每个题目的(ABCD),
试过用vm.$set()为每一项添加一个字段来通过v-model绑定,但是radio单选失效了。
请问如何能在不影响其他的radio的情况下,能绑定radio并且能拿到每个radio的值### 问题描述

补充~~~~~~~~~~

图片描述

渲染的时候是这样。

获取到的数据是这样的:
图片描述

阅读 4.3k
2 个回答

一下有几个思路:
一、利用原生js,你知道id了,利用id获取值,不要用v-model,document.getElementById
二、v-model是个数组,你的每个li的v-model是 v-model="model[item.id]" ,这个你的model就不会一样了,取值的时候,你只要取得model数组中的一个就行。
三、radio是按照name来划分的,你的name是空,我十分怀疑能好用吗?????????

数据结构贴出来看看

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题