利用vue.js实现被选中状态的改变

vue-tabbar切换 今天说一下vue-tabbar页面切换,样式改变:(当然办法有很多,这只是我的实现方法) 首先,我在views视图文件夹下新建五个vue文件,分别是我要切换的页面,再建一个vue页面,把那五个vue文件合在这里面,我们尽量不要在App.vue里面操作。 这里FirstPage.vue文件,就是我的总页面。 接下来是在router下路由配置,这一步很重要: import Vue from "vue"; import VueRouter from "vue-router"; // 首页 import Hom 阅读详情

在使用原型实现使不选中状态改变之后,接触到vue,就想着能不能使用vue再把功能实现一边,在上篇中的页面并没有动态实现页面,所有的数据也都是直接写在html中。而使用vue之后,已经能够实现页面根据数据的多少动态生成。而且代码量也大幅度减少。

html部分的代码:

<div data-role="page " class="page ">
    <div class="center " id="app">
        <div class="group ">
	    <ul>
		<li v-for = "todo in todos ">
		    <div class="groupheader ">
			<div class="Gheadertext ">{{todo.groupheader}}</div>
		    </div>
		    <div  class = "groupbody ">
			<ul class="list ">
			    <li v-for="cell in todo.groupbody" v-on:click="exchange($event)" class="groupcell">
				<div class="celltext">
				    {{ cell.text }}
				</div>
				<img class="selectimg"  src="img/select.png ">
			    </li>
			</ul>
		    </div>
		 </li>
	    </ul>
	</div>
    </div>
</div>
数据代码:

var datas = {
    todos :[
    {
        groupheader : 'MB3101',
        groupbody:[
            { text: '调整不当'},
            { text: '光电开关损坏' },
            { text: '镜面积灰' },
            { text: '调整不当' },
            { text: '光电开关损坏' },
            { text: '镜面积灰' },
            { text: '调整不当' },
            { text: '光电开关损坏' },
            { text: '镜面积灰' },
        ]
    },
    {
        groupheader : 'MB3102',
        groupbody:[
            { text: '调整不当' },
            { text: '光电开关损坏' },
            { text: '镜面积灰' },
            { text: '调整不当' },
            { text: '光电开关损坏' },
            { text: '镜面积灰' },
            { text: '调整不当' },
            { text: '光电开关损坏' },
            { text: '镜面积灰' },
        ]
    },
    {
        groupheader : 'MB3103',
        groupbody:[
            { text: '调整不当' },
            { text: '光电开关损坏' },
            { text: '镜面积灰' },
            { text: '调整不当' },
            { text: '光电开关损坏' },
            { text: '镜面积灰' },
            { text: '调整不当' },
            { text: '光电开关损坏' },
            { text: '镜面积灰' },
        ]
    }
  ]
}

js部分的代码:

new Vue({
  el: '#app',
  data:datas,
  methods:{
      exchange:function(event){
         //获取被点击的元素对象
         var a = event.target;
         //获取被点击元素中的子元素<img>
         var cellimg = a.getElementsByTagName("img")[0];
         if(a.className == "groupcell") {
	     a.className = "selectcell";
	     cellimg.style.display = "block";
	 } 
	 else if(a.className == "selectcell") {
	     a.className = "groupcell";
	     cellimg.style.display = "none";
	 }
      }
  }
})

效果如图所示:

   

















vue点击取消再点击选中(单选) 阅读详情

相关推荐

【IC】Redhawk-SC输入件配置

Redhawk sc

u011808788的博客 1777

vue3实现el-table表格单选功能以及默认选中某一行数据以及多选

vue3实现el-table表格单选功能以及默认选中某一行数据

weixin_53339757的博客 1万+

使用LogisticRegression和LightGBM模型对信贷违约进行预测----基于kaggle比赛数据

3.分离数值型变量与类别型变量,发现有些数值型变量因为输入不规范,比如数值中含有字符(28_,_10000_等)被划分为类别型变量 ,比如 'Age','Annual_Income','Num_of_Loan', 'Num_of_Delayed_Payment', 'Changed_Credit_Limit','Credit_Mix','Monthly_Balance', 'Outstanding_Debt' ,'Amount_invested_monthly'等。三、分箱,woe编码,计算IV值。

I_am_a_big_tiger的博客 1682

VUE 点击选中效果实现

【代码】VUE 点击选中效果实现。

m0_70265923的博客 798

《深入浅出强化学习原理入门》学习笔记(三)机器人找金币应用实例

《深入浅出强化学习原理入门》学习笔记(三)MDP应用实例

lxs3213196的博客 3187

系统磁盘从MBR格式转换成GPT格式来升级win11

之前的《》中说到,需要把磁盘格式转化为MBR格式才能执行下去。问题是,win10升级win11要求启动方式为UEFI的话,磁盘格式不能为MBR。其实不升级也不影响啥,但是就是想好看点。所以花了点时间折腾了一下。我这是双系统,所以直接去A系统修复B系统的磁盘格式和引导。

qq_42520962的博客 9041

vue中实现el-table点选和鼠标框选功能

项目有两个需求,既能在el-table实现点选又能实现鼠标框选,

前端程序媛_Ying博客 7518

保姆级教程:用CST 2023一步步复现一个1-8GHz Vivaldi天线(含参数优化与结果分析)

本文提供了一份详细的CST 2023教程,指导读者如何从零开始设计并优化1-8GHz Vivaldi天线。内容涵盖工程设置、参数化建模、仿真加速技巧以及性能优化策略,特别适合需要实现宽带天线设计的工程师和研究人员。通过实战案例,帮助用户掌握Vivaldi天线的核心设计要点和CST高级功能应用。

weixin_30800987的博客 619

vue技巧:多标签可点击、选中、样式变化

vue技巧:多标签可点击、选中、样式变化

希望看完文章的你能够带着答案离开。 5518

pytorch 51 GroundingDINO模型导出tensorrt并使用c++进行部署,53ms一张图

博主基于https://github.com/hpc203/GroundingDINO-onnxrun项目分享的onnx c++推理代码,修改为GroundingDINO模型的tensorrt推理代码。对于600x400的输入,在3060显卡下,cuda 12.1,TensorRT-10.4.0,window环境下53ms处理完一张图片。

a486259的博客 1221

Node-RED教程(二):Node-RED的面板的操作

Node-RED系列(二):Node-RED的面板的操作 要使用Node-RED去搭建一个物联网平台,链接设备,设备通信,就必须要先熟悉Node-RED的这种面板,对于一个新的项目,在动手做之前一点想对这个的技术的文档有足够的了解做起来才能游刃有余。本期我给大家介绍一下Node-RED的各种面板,熟悉这些面板后,在后续的搭建Iot服务中,会举重若轻,同时该系列的文档,难度会逐步加深,知道了本章解释的名称后对后续文章的理解有很大帮助。 面板1:默认节点选项列表 安装Node-RED后默认的节点分为这5大类

知无涯 1万+

用vue实现点击选中高亮效果

【代码】用vue实现点击选中高亮效果。

weixin_42998230的博客 4343

R语言 百度坐标转换至WGS84坐标

本文利用R语言封装了百度坐标转换至WGS84坐标的函数,亲测有效,提供了便捷的百度坐标转换方法。

qingchen98的博客 2135

vue判断是否被选中_利用vue.js实现被选中状态的改变方法

在使用原型实现使不选中状态改变之后,接触到vue,就想着能不能使用vue再把功能实现一边,在上篇中的页面并没有动态实现页面,所有的数据也都是直接写在html中。而使用vue之后,已经能够实现页面根据数据的多少动态生成。而且代码量也大幅度减少。html部分的代码:{{todo.groupheader}}{{ cell.text }} 数据代码:var datas = {todos :[{grou...

weixin_33075245的博客 1276

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

vue实现todolist案例

vue实现todolist

m0_63989259的博客 411

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

vue 动态添加样式

vue实现点击切换改变样式 html代码:根据数据动态循环一个列表 &lt;ul&gt; &lt;li class="box" v-for="(list,index) in dataList" :key="index" :class="{'bor':clicked==index}" @click="changeTab(index)"&gt;{{list}}&

liuxing393724034的博客 2万+

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

vue实现单击选中再次单击取消

使用场景: 当你写一个v-for循环出一个列表,在写一个点击事件,点击之后给一个class,列表某一个颜色突出,在点击取消颜色突出的场景 1.选中赋值的变量不是数组时 -------html <div :class="['recentOrderBut',recentOrdersArray == item.value ? 'recentOrderActive' : '', ]" v-for="item in recentOrdersDic" :key="item.value" @clic

wupinlong的博客 3770

vue中的router-link导航栏刷新,选中样式不修改

<router-link v-for="(item,index) in listed" :key=“item.value” :to="{path:item.path,query:{item:index}}" :class="{‘router-link-exact-active’:ind == index}" @click.native=“changeBgc(index)” class=“to...

何婷的博客 1779

使用VUE动态追加多选和单选,选中样式

实用场景 可多选多个”车系“,并为每个选中的span添加样式 思路: 元素上,动态绑定类名active,为item添加布尔类型的属性active,绑定点击事件,传递参数item,在事件函数中判断是否item是否存在active属性,存在的话,设置属性值为false,不存在的话,设置为true,就可以达到选中添加样式 html部分 js部分 如果为单选,需要清除其他元素样式,那么请保留Vue.set(elem,‘active’,false); 备注: 为item添加不存在的属性,需要使用vue提供的Vu

weixin_50085089的博客 1220

vue tab颜色切换

<!doctype html> <html> <head> <meta charset="utf-8"> <title>tab颜色切换</title> <script src="js/vue.min.js"></script> </head> <body> <style&...

weixin_42486438的博客 2246

vue动态绑定class 选中当前列表变色

在methods中写入一个方法 clickcategory(index){ // 这里我们传入一个当前值   this.categoryIndex = index } 然后需要在data里面注册一下 data() { return { categoryIndex: 0, //点击当前背景变成白色索引 } }, 在css中设置我们当前选中项为active的类名,并给与一个白色的背景颜色 .active { background: ..

weixin_44727080的博客 511

vue动态改变css样式

要求:切换按钮后改变css的样式 实现思路:循环数组,然后添加点击事件,获取到当前点击的index 根据数组的下标去动态的改变样式。 <div class="cross-content"> <div class="cross-state"> <h3>状态筛选</h3> <span @click="checknow(index,'status')" v-for="(it..

weixin_44409569的博客 1万+

vue框架-----点击按钮变色、选中按钮后字体变色

目录代码html初始化数据方法 代码 html <div class="ibox-content1"> <button type="button" class="btn btn-w-m1 btn-default margin10 " v-for="(item,index) in button_data" :key="index" :class="current === index ? 'active1' : ''" @

zxcvbbnn的博客 2812

【VUE】--实现选项卡切换高亮显示

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>01_HelloWorld</title> </head> <style> span.active{ color: red; } </sty...

爬虫小能手,安卓逆向,欢迎砸单 1321

Vue小demo—美团注册页面

一、目标效果 效果图展示 实现原理 1.输入框聚焦时边框变色 使用CSS的:focus选择器,轻松实现元素聚焦时改变样式。 //用法示例 <!DOCTYPE html> <html> <head> <style> input:focus { background-color:yellow; } </style> </head> <body> <p>在文本框中点击,您会看到黄色的背景:<

sinat_50265804的博客 1636

vue实现全选反选

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>全选反选</title> <script src="js/vue.js"></script></head><body> <h1>全选...

weixin_30745553的博客 97
上一篇: 利用原型实现选项卡被选中状态的改变
下一篇: vue中v-on的参数问题
Firoly
博客等级 码龄10年 10粉丝 11原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值