1. 思路
  2. 定义一个数组来记录被点击的元素 arr
  3. 数组通过indexOf来来查找
  4. 如果有,激活类就是true
  5. 没有; 激活类为false
  6. 这一步最关键的是查找的内容就是显示出来的index
  7. 点击的时候传递参数(key),通过indexOf查找
  8. 如果没有 pusharr;
  9. 若是有;splice删除这个元素
  10. 看了上面这个一段代码,发现的问题
  11. 1==》 rSelectdata中声明的是一个数组; 但是在html indexOf这个方法是对字符串使用的 【数组也有indexOf 用法跟字符串是一样的哈 ok
  12. 2==》 rSelectdata中声明的是一个数组; 在方法中又是indedxOfpush对它进行操作,这样也可以? 【可以】
  13. splice('删除元素的起始下标','删除个数')它是对数组进行操作的
  14. 它到底是一个啥子类型的;
  15. =====================================
  16. 这个文章就可以就可以解决你的疑问了 https://blog.csdn.net/weixin_41829196/article/details/90482193
  17. var arr = [1,2,3];
  18. console.log(arr.indexOf(1));//0
  19. console.log(arr.indexOf(2));//1
  20. console.log(arr.indexOf(3));//2
  21. console.log(arr.indexOf(4));//-1
  22. 该方法返回某个元素在数组中的位置。
  23. 返回元素在数组中的位置,若没检索到,则返回 -1
  24. array.indexOf(item,start)
  25. 参数 描述
  26. item 必须。查找的元素
  27. start 可选。规定检索的位置,它的合法取值是 0 stringObject.length - 1
  28. ================================
  29. 字符串的indexOf和数组的indexOf用法一致的哈
  30. 字符串的indexOf和数组的indexOf用法一致的哈
  31. 字符串的indexOf和数组的indexOf用法一致的哈
  1. <template>
  2. <view>
  3. <view class="deom-flex">
  4. <view class="defa" :class="{'active': rSelect.indexOf(index)!=-1}"
  5. v-for="(value,index) in infoArr"
  6. :key="index" @tap="tapInfo(index)">
  7. {{value.name}}
  8. </view>
  9. </view>
  10. </view>
  11. </template>
  12. <script>
  13. export default {
  14. data(){
  15. return{
  16. infoArr:[{name:"直播"},{name:"视频"},{name:"手游"}],
  17. rSelect:[]
  18. }
  19. },
  20. methods:{
  21. tapInfo(e) {
  22. console.log(this.rSelect )//是数组,数组也有indexOf
  23. if (this.rSelect.indexOf(e) == -1) {
  24. console.log(e)//打印下标
  25. this.rSelect.push(e);//选中添加到数组里
  26. } else {
  27. this.rSelect.splice(this.rSelect.indexOf(e), 1); //取消
  28. }
  29. }
  30. },
  31. }
  32. </script>
  33. <style scoped>
  34. .deom-flex{
  35. display: flex;
  36. }
  37. .defa{
  38. width: 100rpx;
  39. height: 50rpx;
  40. margin-right: 10rpx;
  41. }
  42. .active{
  43. width: 100rpx;
  44. height: 50rpx;
  45. color: white;
  46. border: 1px solid #e5e5e5;
  47. background-color: #ff5d00;
  48. }
  49. </style>

uni-app选中状态并改变颜色的更多相关文章

  1. android自定义radiobutton样式文字颜色随选中状态而改变

    主要是写一个 color selector 在res/建一个文件夹取名color res/color/color_radiobutton.xml <selector xmlns:android= ...

  2. android 自定义 radiobutton 文字颜色随选中状态而改变

    主要是写一个 color selector 在res/建一个文件夹取名color res/color/color_radiobutton.xml <?xml version="1.0& ...

  3. UITabBar 设置选中、未选中状态下title的字体颜色

    一.如果只是设置选中状态的字体颜色,使用 tintColor  就可以达到效果 self.tabBar.tintColor = [UIColor redColor]; 二.但如果要将未选中状态和选中状 ...

  4. 181213 - 解决Android的应用APP背景色突然被改变的问题

    在魅族最新的特定版本出现APP背景突然被改变颜色的问题 出问题的机型相关信息 型号:魅族16th Plus Android 版本: 8.1.0 安全补丁 版本: 2018年10月1日 Flyme 版本 ...

  5. 改变select组件的option选中状态的快捷方法

    以前我都是在<option>标签处通过判断value是否与其中一个相同然后输出selected="selected"来处理的,今天发现可以直接能过Js改变<sel ...

  6. ListItem选中时只改变文字的颜色

     继承父状态,然后使用Selector 如果是用Linearlayout里面动态添加Linearlayout的情况,就要代码控制了 // 就是为了改变颜色.                     l ...

  7. 怎么用js代码改变单选框的选中状态

    今天突然有一个需求要用到,使用js代码改变单选框的选中状态.当时想也不想直接 function doGender(gender) { if (gender == "男") { ge ...

  8. 前端开发学习之——使用jquery/javascript判断及改变checkbox选中状态

    一.使用jquery判断及改变checkbox选中状态 1.使用JQuery判断一个checkbox 是否为选中: (1).attr('checked) 看JQuery版本1.6+返回:”checke ...

  9. checkbox复选框和div click事件重叠,点击div后复选框也被选中,同时改变div颜色,否则则不选中

     checkbox复选框和div click事件重叠,点击div后复选框也被选中,同时改变div颜色,否则则不选中 <!DOCTYPE html> <html lang=" ...

  10. hover状态下改变图片颜色的方式 悬停图片切换;css变量;悬停svg图片改变颜色;VUE

    由外部json文件,按照配置方式引入图片路径时,需要一些值得注意的语法来动态引入和改变图片 1.图片路径设置 ,按照img标签动态引入图片 <img src=''/> 路径不引入变量,此时 ...

随机推荐

  1. 运维工具之Netdata

    [导语]:Netdata 是一个开源.免费.预配置.高灵敏度的分布式实时监控系统. 简介 Netdata的分布式实时监视代理以零配置的方式,从系统.硬件.容器和应用程序收集数千个指标,它可以运行在所有 ...

  2. 简化 ASP.NET Core 依赖注入(DI)注册-Scrutor

    简化 ASP.NET Core 依赖注入(DI)注册-Scrutor Scrutor 是一个开源库,旨在简化 ASP.NET Core 应用程序中依赖注入(DI)的注册过程.通过自动扫描程序集中的类型 ...

  3. 论文解读《From Generation to Judgment: Opportunities and Challenges of LLM-as-a-judge》

    发表时间:2024 期刊会议:arxiv 论文单位:Arizona State University 论文作者:Dawei Li, Bohan Jiang, Liangjie Huang, Alimo ...

  4. ie浏览器设置允许跨域

    前情 在访问测试搭建的测试环境的时候,发现接口因为跨域全部失败了,服务端又不想设置允许跨域,又急于使用,于是想到是不是可以使用跨域浏览器,上一次已解决chrome允许跨域,这一次来设置IE允许跨域 放 ...

  5. 【Amadeus原创】从域副域控无法同步的解决方法

    强制同步指令:repadmin /syncall /force 同步查询:repadmin.exe /replsummary

  6. 鸿蒙(HarmonyOS)原生AI能力之文本识别

    鸿蒙(HarmonyOS)原生AI能力之文本识别 原生智能介绍 在之前开发中,很多场景我们是通过调用云端的智能能力进行开发.例如文本识别.人脸识别等. 原生即指将一些能力直接集成在本地鸿蒙系统中,通过 ...

  7. 在 K8S 中创建 Pod 是如何使用到 GPU 的: nvidia device plugin 源码分析

    本文主要分析了在 K8s 中创建一个 Pod 并申请 GPU 资源,最终该 Pod 时怎么能够使用 GPU 的,具体的实现原理,以及 device plugin.nvidia-container-to ...

  8. Qt/C++入门基础学习001-绘图基础

    这一节介绍 Qt 的绘图基础知识,我们都知道,Qt 里绘图使用的是 QPainter,但是首先需要弄明白:在什么上绘图和在哪里绘图,然后才是怎么绘图,我们就围绕这几个问题来展开. 在什么上绘图 The ...

  9. Qt编写地图综合应用9-行政区划

    一.前言 行政区划在地图应用中非常有用,行政区划是行政区域划分的简称,是国家为了进行分级管理而实行的区域划分,百度地图提供的内置的函数类支持传入行政区划的名称来获取对应的边界点集合,然后根据该集合来绘 ...

  10. UML之类型

    类型是对一个元素能够拥有的值的描述.类型可能是一个无限的集合,例如Integers类型(整数),理论上它的值有无限个:也可能是一个有限的集合,例如Boolean类型(布尔),它只有True和False ...