Json Vue根据其他阵列自动选择复选框

Json Vue根据其他阵列自动选择复选框,json,vue.js,checkbox,Json,Vue.js,Checkbox,因此,我的vue应用程序中有两个不同的api请求。其中一个是提出所有问题 [{id:20,问题:香烟},{id:2,问题: 酒精},{id:3,问题:糖尿病}] 在第二个请求中,返回客户从表单中检查的关于这些问题的内容 {香烟:是的,酒精:是的,手机:+44111111} 等等 在我的form.js文件中,我希望看到复选框已选中,如果客户端已选中该复选框。我有这个 <li v-for="(ask, askey) in patientQuestions" :key=&qu

因此,我的vue应用程序中有两个不同的api请求。其中一个是提出所有问题

[{id:20,问题:香烟},{id:2,问题: 酒精},{id:3,问题:糖尿病}]

在第二个请求中,返回客户从表单中检查的关于这些问题的内容

{香烟:是的,酒精:是的,手机:+44111111}

等等

在我的form.js文件中,我希望看到复选框已选中,如果客户端已选中该复选框。我有这个

<li v-for="(ask, askey) in patientQuestions" :key="askey">
    <b-form-checkbox v-model="ask.value">{{ ask.question }}</b-form-checkbox>
</li>

如何自动选中此复选框。提前感谢

这比实际困难得多,因为你需要一些东西将答案与问题联系起来。你想要的东西在两种情况下都是一样的,但你现在还没有。答案键和问题文本几乎匹配,但一个是小写,另一个不是。例如,如果您可以在answer对象中获取问题ID,则会更容易/更可靠

根据您当前的数据结构,您可以执行以下操作:

<div id="app">
  <ul>
    <li v-for="(pq, index) in patientQuestions" :key="pq.id">
      <b-form-checkbox value="yes" v-model="answers[pq.question.toLowerCase()]">{{ pq.question }}</b-form-checkbox>
    </li>
  </ul>
</div>

var app = new Vue({
  el: '#app',
  data: {
    patientQuestions: [{
        "id": 20,
        "question": "Cigarette"
      },
      {
        "id": 2,
        "question": "Alcohol"
      },
      {
        "id": 3,
        "question": "Diabetes"
      }
    ],
    answers: {
      "cigarette": "yes",
      "alcohol": "yes",
      "mobile": "+44111111111"
    }
  }
})

Fiddle:

也许你不会得到答案,因为没有人会为你写代码——至少一个想法会很好。我有点笨,回答起来有点困难,不太好。请分享你的全部代码,让我们更容易提供答案。我的全部代码超过1000行。我想我已经解释得够多了,但无论如何,谢谢。好的,我明白了,我会根据其他名称更新表单输入名称,我会试试你的代码。谢谢