后台发过来的数据是一个数组对象,每个对象内有题目和选项。还区分了单选题和多选题。
我想问,如何通过这个单选多选的字段判断来达到让单选题的只能单选,多选的只能多选。我试过了把radio和checkbox放在一起用v-if判断,但是一直显示不出来,找个思路。
这种建议利用vue的组件概念~
如果用if,下次加了其他题型会不够灵活,拆分组件分别封装,也便于后续扩展维护
<Radio />
以及<Checkbox />
components
is
来指定渲染的组件,比如is为Radio时会渲染Radio组件,再传入data用于组件内数据使用,这就是父子组件通信的内容了最终大概如下
<div v-for="item in arr" :key="item.id">
<component :is="item.type" :data="item" />
</div>
P.S. 需要注意vue2和vue3 的component组件的is,使用方式有差异
参考文档
https://v3.cn.vuejs.org/api/built-in-components.html#component
如有帮助请采纳回答谢谢~
你说的这种是可行的,v-for遍历,v-if判断