• uni-app选中状态并改变颜色


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

    作者:流年少年
    出处:https://www.cnblogs.com/ishoulgodo/

    想问问题,打赏了卑微的博主,求求你备注一下的扣扣或者微信;这样我好联系你;(っ•̀ω•́)っ✎⁾⁾!

    如果觉得这篇文章对你有小小的帮助的话,记得在右下角点个“推荐”哦,或者关注博主,在此感谢!

    万水千山总是情,打赏5毛买辣条行不行,所以如果你心情还比较高兴,也是可以扫码打赏博主(っ•̀ω•́)っ✎⁾⁾!

    想问问题,打赏了卑微的博主,求求你备注一下的扣扣或者微信;这样我好联系你;(っ•̀ω•́)っ✎⁾⁾!

    支付宝
    微信
    本文版权归作者所有,欢迎转载,未经作者同意须保留此段声明,在文章页面明显位置给出原文连接
    如果文中有什么错误,欢迎指出。以免更多的人被误导。
  • 相关阅读:
    STM32的GPIO工作原理 | 附电路图详细分析
    话说上拉电阻和下拉电阻
    Linux下MySQL数据库常用基本操作
    Linux acpi off学习的必要
    CentOS 6.2出现Disk sda contains BIOS RAID metadata解决方法
    降低开关电源纹波的三个要素
    什么是RFID? 射频识别技术的特点及工作原理!
    亲测可用的国内maven镜像
    Linux 删除文件夹和文件的命令
    [Gradle] 在 Eclipse 下利用 gradle 构建系统
  • 原文地址:https://www.cnblogs.com/ishoulgodo/p/13648791.html
Copyright © 2020-2023  润新知