随笔 - 42,  文章 - 0,  评论 - 3,  阅读 - 24113

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、例

posted on   丶凉雨拾忆  阅读(178)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示