1、代码
| <div v-for="(item, index) in list" :key="index"> |
| <div> |
| 问题:{{ index + 1 }}、{{ item.title }} |
| <span v-if="item.state === 'single'">(单选)</span> |
| <span v-else>(多选)</span> |
| </div> |
| <ol> |
| <li |
| v-for="(item2, index2) in item.answer" |
| :key="index2" |
| @click="onClick(item, item2)" |
| :class="item2.select ? 'active' : ''" |
| > |
| {{ item2.value }} |
| </li> |
| </ol> |
| </div> |
2、数据
| data() { |
| return { |
| list: [ |
| { |
| title: "你的学历", |
| state: "single", |
| answer: [ |
| { |
| value: "幼本", |
| select: false |
| }, |
| { |
| value: "小本", |
| select: false |
| }, |
| { |
| value: "中专", |
| select: false |
| }, |
| { |
| value: "大专", |
| select: false |
| } |
| ] |
| }, |
| { |
| title: "你的年纪", |
| state: "single", |
| answer: [ |
| { |
| value: "25", |
| select: false |
| }, |
| { |
| value: "26", |
| select: false |
| }, |
| { |
| value: "27", |
| select: false |
| }, |
| { |
| value: "28", |
| select: false |
| } |
| ] |
| }, |
| { |
| title: "你爱吃的食物", |
| state: "selected", |
| answer: [ |
| { |
| value: "苹果", |
| select: false |
| }, |
| { |
| value: "香蕉", |
| select: false |
| }, |
| { |
| value: "橘子", |
| select: false |
| }, |
| { |
| value: "哈密光", |
| select: false |
| } |
| ] |
| } |
| ] |
| }; |
| }, |
3、方法
| onClick(item, item2) { |
| |
| if (item.state === "single") { |
| item.answer.forEach(row => { |
| row.select = false; |
| }); |
| item2.select = !item2.select; |
| } else { |
| |
| item2.select = !item2.select; |
| } |
| } |
4、CSS
| .active { |
| background-color: red; |
| } |
| .active::marker { |
| color: red; |
| } |
5、例

【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!