Vue.js v-for 多层嵌套绑定v-model

格式实在是有碍观瞻,我想知道这样双层嵌套的radio如何来绑定v-model? 我的绑定一直不成功,数据是动态生成的,data初始化是空,通过ajax获得数据然后绑定到变量中,我想绑定到一个变量中(最后的checkResult[]),但是由于是二维数组,无法直接赋值,这样的话数据如何绑定

HTML

         

          <el-form>
              <el-form-item v-for="(unitMode,parentIndex) in modeDetails.data" :key="unitMode.shiftModeName">
                <h4 class="sub-title is-4">
                  <b>{{unitMode.shiftModeName}}</b>
                </h4>
                <el-checkbox-group disabled="isModeFormEditable"    >
                  <el-checkbox :label="unitBreakName.label"  v-model="unitBreakName.a" v-for="(unitBreakName,subIndex) in unitMode.breakTimeList" :key="unitBreakName.label">
                      <span> {{unitBreakName.checked}}</span>
                  </el-checkbox>
                </el-checkbox-group>
              </el-form-item>
            </el-form>
            

Response Data:

{
data: {

"shiftModeName": "A",
"breakTimeList": [{
  "checked": true,
  "label": "a"
}, {
  "checked": true,
  "label": "b"
}, {
  "checked": true,
  "label": "c"
}, {
  "checked": true,
  "label": "d"
}, {
  "checked": true,
  "label": "e"
}, {
  "checked": true,
  "label": "f"
}, {
  "checked": true,
  "label": "g"
}, {
  "checked": false,
  "label": "h"
}],
"workingTime": 99999,
"discribe": "String"

}, {

"shiftModeName": "B",
"breakTimeList": [{
  "checked": true,
  "label": "a"
}, {
  "checked": true,
  "label": "b"
}, {
  "checked": true,
  "label": "c"
}, {
  "checked": true,
  "label": "d"
}, {
  "checked": false,
  "label": "e"
}, {
  "checked": true,
  "label": "f"
}, {
  "checked": true,
  "label": "g"
}, {
  "checked": false,
  "label": "h"
}],
"workingTime": 99999,
"discribe": "String"

}, {

"shiftModeName": "C",
"breakTimeList": [{
  "checked": true,
  "label": "a"
}, {
  "checked": true,
  "label": "b"
}, {
  "checked": true,
  "label": "c"
}, {
  "checked": true,
  "label": "d"
}, {
  "checked": true,
  "label": "e"
}, {
  "checked": true,
  "label": "f"
}, {
  "checked": true,
  "label": "g"
}, {
  "checked": false,
  "label": "h"
}],
"workingTime": 99999,
"discribe": "String"

}
}

JS:

return {
modeDetails: {
    data: null,
    checkResult:[]}
    
阅读 10k
1 个回答

.a 是什么? 应该是.checked吧。。。 正确写的话肯定能绑定的

<el-checkbox :label="unitBreakName.label"  v-model="unitBreakName**.a**" v-for="(unitBreakName,subIndex) in unitMode.breakTimeList" :key="unitBreakName.label">
  <span> {{unitBreakName**.a**}}</span>
</el-checkbox>
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题