elementUI Checkbox 多选框互斥事件

elementUI Checkbox 多选框互斥事件

需求

项目使用的vue2+elementUI,项目的查询接口遇到一个需求:

1.多个标签
2.标签数据由后端接口给出;
3.可以多选标签;
4.有两个标签为默认存在的标签:任意标签 和 无标签;
5.这个两个默认标签为互斥标签,且存在这两个默认标签中任意一个标签时,其他标签不可选,如果其他标签已选中,清除选中的其他标签;
6.这两个默认标签未选中时,其他标签可选。

效果(下方截图为连续性操作)

未选中
在这里插入图片描述
选中其他标签
在这里插入图片描述
选中任意标签,其他标签清空选中
在这里插入图片描述
选中无标签,其他标签清空选中
在这里插入图片描述

解决代码

html

<template>
	<el-checkbox-group v-model="flag" size="mini" @change="changeValue">
		<el-checkbox label="1" border @change="changeAny">任意标签</el-checkbox>
		<el-checkbox label="0" border @change="changeNone">无标签</el-checkbox>
		<el-checkbox v-for="item in labelList" :key="item.id" :label="item.id" border>
			{
   {
    item.name }}
		</el-checkbox>
	</el-checkbox-group>
</template>

js

<script>
export default {
   
	data() {
   
		return {
   
      		flag: [],
      		labelList: [],
		}
	},
	methods: {
   
		changeValue() {
   
			if (this.flag.includes('none')) {
   
	          this.flag = ['none']
	        } else if (this.flag.includes('any')) {
   
	          this.flag = ['any']
	        }
		},
		// 任意标签 (任意标签与无标签只能二选一)
	    changeAny(value) {
   
	      if (value) {
   
	        this.flag = ['1']
	      }
	    },
	    // 无标签 (任意标签与无标签只能二选一)
	    changeNone(value) {
   
	      if (value) {
   
	        this.flag = ['0']
	      }
	    },
	}
}
</script>

相关推荐

  1. selenium中,怎么判断是否已

    2023-12-25 15:40:06       26 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-25 15:40:06       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-25 15:40:06       100 阅读
  3. 在Django里面运行非项目文件

    2023-12-25 15:40:06       82 阅读
  4. Python语言-面向对象

    2023-12-25 15:40:06       91 阅读

热门阅读

  1. uniapp中复选框的使用

    2023-12-25 15:40:06       54 阅读
  2. Linux read 命令

    2023-12-25 15:40:06       62 阅读
  3. 二、安全与风险管理—风险管理

    2023-12-25 15:40:06       61 阅读
  4. linux centos 安装python

    2023-12-25 15:40:06       65 阅读
  5. 高频算法面试总结

    2023-12-25 15:40:06       47 阅读
  6. [编程相关]正则表达式Regex语法

    2023-12-25 15:40:06       47 阅读
  7. 第二十一 网络通信

    2023-12-25 15:40:06       51 阅读
  8. 力扣labuladong一刷day46天并查集

    2023-12-25 15:40:06       57 阅读