JS多选答题时,选项互斥时的情况

news2025/2/26 13:39:12

在做答题类的项目时,应该会比较常见多选题选相互斥的问题,例如:

你喜欢什么颜色?()

A、红色

B、紫色

C、蓝色

D、灰色

E、均无


如该题,当选择选项E时,明显与其他选项互斥。这个时候经常会出现勾选E后,A、B、C、D禁止选中的现象

以下为效果图:

具体思路如下:在遍历展示完数据之后,首先我们要给所有的选项增加一个是否禁止使用的标识。当用户点击选项时判断当前项是否与其他选项互斥,如果互斥,除选中项之外的其他选项禁止使用即可。

具体代码:

html:

   <checkbox-group v-model="selectedItems" ref="checkboxGroup" @change="changeCheckbox">
       <label class="options acea-row row-between row-middle"  v-for="item in TestObject" :key="item.code">
        <text>{{item.name}}</text>
        <checkbox :value="item.code" :disabled="item.disabled" :checked="selectedItems.includes(item.code)"></checkbox>
      </label>
</checkbox-group>



JS:
data:{
   selectedItems:[],
   TestObject: [
        { code: 'A', name: '红色', mutex: [] },
        { code: 'B', name: '紫色', mutex: [] },
        { code: 'C', name: '蓝色', mutex: [] },
        { code: 'D', name: '灰色', mutex: [] },
        { code: 'E', name: '均无', mutex: ['A','B','C','D'] }
   ]
}




....


changeCheckbox({detail}){
   const {TestObject,selectedItems} = this;
   const selectedValue = detail.value;
   TestObject.forEach(item => {item.disabled = false  });
   selectedValue.forEach(value => {
        const option = TestObject.find(opt => opt.code === value);
        if (option && option.isMutex.length) {
            option.isMutex.forEach(mutexCode => {
            const mutexOption = TestObject.find(opt => opt.code === mutexCode);
            if (mutexOption) {
                 mutexOption.disabled = true;
                 const index = selectedValue.indexOf(mutexCode);
                 if (index > -1) {
                    selectedValue.splice(index, 1);
                 }
            }
          });
        }
   });
  this.$set(this, 'selectedItems', selectedValue);
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1128100.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

《作为一名编程新手,如何提升编程能力》

互联网行业是一个充满挑战且内卷比较严重的行业&#xff0c;程序员如何让自己在行业内一直保持竞争力&#xff0c;其实就是需要通过不断的学习提升自己&#xff0c;那么对于一个刚刚入门的新手&#xff0c;如何快速的提升自己呢&#xff1f;本文就和大家交流下入门级程序员想要…

Vue中linq的应用及语句示例

一、运行npm install linq 二、引入linq&#xff08;在你需要用到的组件中引入&#xff09; var Enumerable require(linq); linq并不需要在main.js中import和Vue.use(linq) 三、linq的具体应用 &#xff08;1&#xff09;linq.js 的方法解析说明&#xff08;但是在不同的…

【Python】机器学习-K-近邻(KNN)算法【文末送书】

目录 一 . K-近邻算法&#xff08;KNN&#xff09;概述 二、KNN算法实现 三、 MATLAB实现 四、 实战 一 . K-近邻算法&#xff08;KNN&#xff09;概述 K-近邻算法&#xff08;KNN&#xff09;是一种基本的分类算法&#xff0c;它通过计算数据点之间的距离来进行分类。在…

RDD算子操作(基本算子和常见算子)

目录 一、基本算子 1.map算子 2.flatMap算子 3.filter算子 4.foreach算子 5.saveAsTextFile算子 6.redueceByKey算子 二、常用Transformation算子 1.mapValues算子 2.groupBy算子 3.distinct算子 4.union算子 5.join算子 6.intersection算子 7.glom算子 8.groupByKey算…

阿里巴巴中国站item_search_img按图搜索1688商品(拍立淘) API 返回值说明

1. 商品API&#xff1a;提供了搜索、详情、评价等与商品相关的接口&#xff0c;可以通过关键词搜索商品&#xff0c;获取商品详情、销量等信息。 2. 店铺API&#xff1a;提供了店铺信息、店铺内商品等接口&#xff0c;可以查询店铺的基本信息、主营类目、评分等&#xff0c;还可…

常用封装工具类

文章目录 前言一、保留指定小数位二、获取bean三、假分页计算四、星期计算五、经纬度计算距离 前言 一、保留指定小数位 import org.apache.commons.lang3.StringUtils; import java.math.BigDecimal;public class OffSetPointUtil {/*** 保留指定小数位数** param value 原始…

【AI视野·今日Sound 声学论文速览 第二十八期】Wed, 18 Oct 2023

AI视野今日CS.Sound 声学论文速览 Wed, 18 Oct 2023 Totally 12 papers &#x1f449;上期速览✈更多精彩请移步主页 Daily Sound Papers Robust Wake-Up Word Detection by Two-stage Multi-resolution Ensembles Authors Fernando L pez, Jordi Luque, Carlos Segura, Pablo…

当数据库遇上深度学习:AI DataLoader 助力因子管理模型训练全流程

深度学习模型有能力自动发现变量之间的关系&#xff0c;而这些关系通常是不可见的&#xff0c;这使得深度学习可以挖掘新的因子和规律&#xff0c;为量化投资策略提供更多可能性。在传统的量化策略开发流程中&#xff0c;通常会使用 Python 或第三方工具生成因子&#xff0c;并…

什么是电源高压测试标准?如何测试?测试时要注意什么?

电源高压测试也叫电源耐压测试&#xff0c;是为了检测电源产品绝缘结构是否能够承受电力系统的内部过电压&#xff0c;进而防止安全事故的发生。不同技术规格的产品&#xff0c;高压测试的标准也不同。对于一般设备来说&#xff0c;以两倍于被测物的工作电压再加1000V作为测试的…

访问控制1

文章目录 主要内容一.ServiceAccount1.示例&#xff1a;在一个名为acctests的namespace中&#xff0c;创建一个名为udbs的serviceAccount代码如下&#xff08;示例&#xff09;: 2.解释 二.Role和ClusterRole1.在名为test的namespace中创建一个名为test-role的角色,以及创建一个…

vue3+ts父子组件以及单页面刷新的方法

父子组件刷新页面&#xff1a; 父组件定义函数reset&#xff0c;子组件props接收 示例一&#xff1a; 父组件 //ts删减部分&#xff1a; import { deleteCompanyById, findAllCompanys } from /api/company import { usePureFetch } from /nexus/useFetch import type Compa…

2023 | 组蛋白乳酸化如何影响免疫、自噬最新发现!

乳 酸 乳酸是人体循环系统最丰富的代谢产物之一。乳酸由糖酵解的终产物丙酮酸盐通过乳酸脱氢酶&#xff08;LDH&#xff09;产生。有氧条件下&#xff0c;丙酮酸盐可以穿梭进入线粒体&#xff0c;以促进生物合成途径和ATP产生。当氧气不足时&#xff0c;丙酮酸转化为乳酸&…

asp.net文档管理系统VS开发sqlserver数据库web结构c#编程Microsoft Visual Studio

一、源码特点 asp.net文档管理系统是一套完善的web设计管理系统&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。开发环境为vs2010&#xff0c;数据库为sqlserver2008&#xff0c;使用c#语言开发 asp.net文档管理系统 二、功能介绍 (1…

如何系列 如何玩转远程调用之OpenFegin+SpringBoot(非Cloud)

文章目录 简介原生Fegin示例基础契约日志重试编码器/解码器自定义解码器 请求拦截器响应拦截器表单文件上传支持错误解码器断路器指标metrics客户端 配合SpringBoot&#xff08;阶段一&#xff09;配合SpringBoot&#xff08;阶段二&#xff09;1.EnableLakerFeignClients2.Lak…

spring cloud Eureka集群模式搭建(IDEA中运行)《一》

spring cloud Eureka集群模式搭建&#xff08;IDEA中运行&#xff09; 新建springboot 工程工程整体目录配置文件IDEA中部署以jar包形式启动总结 新建springboot 工程 新建一个springboot 工程&#xff0c;命名为&#xff1a;eureka_server。 其中pom.xml文件为&#xff1a; …

Mask Free VIS笔记(CVPR2023 不需要mask标注的实例分割)

paper: Mask-Free Video Instance Segmentation github 一般模型学instance segmentation都是要有mask标注的&#xff0c; 不过mask标注既耗时又枯燥&#xff0c;所以paper中仅用目标框的标注来实现实例分割。 主要针对视频的实例分割。 之前也有box-supervised实例分割&…

去除QPushButton边框上的白点

使用border:3px solid #35FFFAF0; 出现上面一行border上白点。 使用border:3px solid rgb(89,87,84); 没有白点。

1.java环境搭建与eclipse安装和配置

JDK&#xff08;JAVA开发工具包&#xff09;&#xff1a;提供给java开发人员使用的&#xff0c;其中包含了java的开发工具&#xff0c;也包括了JRE所以安装了JDK,就不用单独安装JTE了&#xff0c;其中的开发工具&#xff1a;编译工具(javac.exe) 打包工具(jar.exe)等JRE(JAVA运…

什么年代了还在手工写接口测试文档吗?

01 前言 接口文档&#xff0c;顾名思义就是对接口说明的文档。好的接口文档包含了对接口URL&#xff0c;参数以及输出内容的说明&#xff0c;我们参照接口文档就能编写出一个个的测试用例。而且接口文档详细的话&#xff0c;测试用例编写起来就会比较简单&#xff0c;不容易…

MES 漫谈123

我们从Know-How出发 Know&#xff1a;什么是 MES 制造执行系统MES是一套工具&#xff0c;旨在支持产品达到预期的质量、安全和合规水平&#xff0c;以及生产的预期性能水平。MES是支持工厂质量标准和企业卓越运营计划的关键要素。在工厂层面&#xff0c;MES不是通过“最后一天…