关于选中,取消选中,和选中同分类下的其他

常见于商城购买页如图所示:
请添加图片描述

完整代码如下:

css部分:
:class="[seleIndex[index] == index_one ? 'new_style' : '']"
.new_style{
	background-color: #e9445a !important;
	color: #FFFFFF;
}
js部分
const selectdata = reactive({select:[],seleIndex:[]})
	const {select,seleIndex} = toRefs(selectdata)
	function choIce(att_val,att_name,index,index_one){
		// 切换选中添加颜色
		let IN = selectdata.select.findIndex(item=>item.att_name == att_name)
		if(IN > -1){
			let MB = selectdata.select.findIndex(item=>item.att_val == att_val)
			if(MB > -1){
				//因为selectdata.select是已经选中的,进入到了这里,说明已经选中的属性是att_name,值是att_val
				//但是注意,这里是点击事件,所以这里我们是取消选中
				selectdata.select.splice(IN,1)
				selectdata.seleIndex[index] = -1
			}else{
				//选中当前分类下的其他属性
				selectdata.select[IN] = {att_name,att_val}
				selectdata.seleIndex[index] = index_one
			}
		}else{
			//因为刚开始打开这个界面selectdata.select是空的,所以IN > -1不成立,这时候我们添加元素进去
			
			selectdata.select.push({att_name,att_val})
			selectdata.seleIndex[index] = index_one
		}

最近更新

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

    2024-03-18 00:18:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-18 00:18:01       100 阅读
  3. 在Django里面运行非项目文件

    2024-03-18 00:18:01       82 阅读
  4. Python语言-面向对象

    2024-03-18 00:18:01       91 阅读

热门阅读

  1. 智能车摄像头灰度处理高效算法(下)

    2024-03-18 00:18:01       46 阅读
  2. ThreadLocal-案例编码实战

    2024-03-18 00:18:01       41 阅读
  3. 17个工作必备的Python自动化代码分享(上篇)

    2024-03-18 00:18:01       34 阅读
  4. clickhouse sql语句

    2024-03-18 00:18:01       37 阅读
  5. Leetcode64. 最小路径和

    2024-03-18 00:18:01       42 阅读
  6. 【MATLAB函数】三点法定位+权重

    2024-03-18 00:18:01       42 阅读
  7. 【Linux】在 Linux 上安装 Zig 编译环境

    2024-03-18 00:18:01       46 阅读
  8. 2024.2.26校招 实习 内推 面经

    2024-03-18 00:18:01       41 阅读
  9. R语言【ClusterR】——KMeans_rcpp()

    2024-03-18 00:18:01       34 阅读
  10. 在 emacs 中如何将窗口的垂直分割改为水平分割

    2024-03-18 00:18:01       43 阅读