Vue的单选/多选效果

Vue 实现全选、多选、单选效果 假如这里有多个卡片,点击相应卡片之后需要提交卡片内信息,我们需要把点击的卡片筛选出来,在不使用组件库的前提下实现全选,多选,单选操作(其中全选和多选为一个需求,单选为一个需求) 阅读详情

Vue的单选/多选效果

includes()方法判断是否包含某一元素,返回true或false表示是否包含元素,对NaN一样有效

filter()方法用于把Array的某些元素过滤掉,filter()把传入的函数依次作用于每个元素,然后根据返回值是true还是false决定保留还是丢弃该元素:生成新的数组

一、单选

DOM文档中结构如下:

<ul class="box">
	<li v-for="c,index of cities" :class="{checked:index==n}" @click="changeList(index)">{{c}}</li>
</ul>

CSS样式如下:

<style type="text/css">
body{margin:0;}
ul{
	padding:0; list-style:none; 
	margin:150px 150px;
}
li{
	width:80px; height:50px; 
	display:inline-block;
	border-radius:8px; border:1px #000 solid;
	text-align:center; line-height:50px;
	cursor:pointer; 
	transition:all 0.3s linear;
	margin-left:5px;
}
li:hover{
	background-color:#0CF; color:#fff; 
	border:1px #fff solid;
}	
li.checked{
	background-color:#0CF; color:#fff; 
	border:1px #fff solid;
}
</style>

JavaScript样式如下:

<script src="vue.js"></script>
<script>
var app = new Vue({
	el : ".box",
	data : {
		cities : ["上海","北京","广州","重庆","西安"],
		n : 0
	},
	methods :{
		changeList(index){
			this.n = index;//this指向app
		}
	}
})
</script>

效果如图所示:

选中“北京”时:

 

二、多选

CSS样式如下:

<style type="text/css">
body{margin:0;}
.box{ margin:150px 150px;}
ul{
	padding:0; 
	list-style:none;
}
li{
	width:50px; height:30px; display:inline-block;
	text-align:center; line-height:30px;
	cursor:pointer;margin-left:5px;
}
li:before{ 
	display:inline-block; width:10px; height:10px; 
	line-height:10px; content:""; border:1px #000 solid; 
	margin-right:2px; transition:all 0.3s linear;
}	
li.checked:before{ 
	background-color:#0CF; 
	border:1px #fff solid;
}
li.checked{color:#0CF;}
</style>

方法一:

DOM文档中结构如下:

<ul class="box">
    <li v-for="c,index of cities" :class="{checked:arr.includes(index)}" @click="checkedBox(index)">{{c}}</li>
</ul>

JavaScript样式如下:

<script src="vue.js"></script>
<script>
var app = new Vue({
	el : ".box",
	data : {
		cities : ["上海","北京","广州","重庆","西安"],
		arr : []
	},
	methods :{
		checkedBox(i){
			if(this.arr.includes(i)){
				//includes()方法判断是否包含某一元素,返回true或false表示是否包含元素,对NaN一样有效
				//filter()方法用于把Array的某些元素过滤掉,filter()把传入的函数依次作用于每个元素,然后根据返回值是true还是false决定保留还是丢弃该元素:生成新的数组
				this.arr=this.arr.filter(function (ele){return ele != i;});
				//this.arr=this.arr.filter((ele)=>ele!=i);
				//filter()为假时删除
			}else{
				this.arr.push(i);
			}
		}
	}
})

方法二:

DOM文档中结构如下:

<ul class="box">
    <li v-for="c,index of cities"
    :class="{checked:c.bOn}"
    @click="checkbox(index)">{{c.city}}</li>
</ul>

JavaScript样式如下:

<script src="vue.js"></script>
<script>
var app = new Vue({
	el : ".box",
	data : {
		cities : [{city:"北京",bOn:false},
		{city:"上海",bOn:false},
		{city:"重庆",bOn:false},
		{city:"广州",bOn:false},
		{city:"西安",bOn:false}]
	},
	methods : {
		checkbox(i){
			this.cities[i].bOn = !this.cities[i].bOn;
		}
	}
})

效果如图所示:

多选效果: 

 

vue - 实现购物车分类商品的单选和多选   今天用了一下空闲时间来实现了购物车部分商品的单选和多选,下面来个案例供大家参考: 效果图: 案例代码如下: <template> <div class="text"> <div class v-for="(item,index) in dataList" :key="index"> <div class="yesterday"&... 阅读详情

相关推荐

vue - 实现单选和多选

1、效果图: 2、具体实现过程: <template> <div class="demo"> <div :class="allChecked?'circle-full':'circle'" @click="radio('all')"></div> <div class="items" v-for="(item,index)...

sunshime的博客 908

判断vue数组中是否存在某个字符串

步骤:按照思路这样处理,无可厚非,肯定是可以的,那么这样肯定处理麻烦一点,所以这个时候就需要用到vue中特定的函数includes()了,它可以直接进行全数组数据进行筛选,再拿到这个值。思路:在已知数组中,嵌套着字符串数组,需要遍历整个字符串数组才能找到那个值。需求:得到后台数组,需要加一个特定字符串的校验。

醉梦洛的博客 6189

vue2/3+element - 将级联选择器el-cascader修改为“点击文字就能选中“效果,单选/多选模式下点击label整行都可以直接选中,复选框多选模式下解决只能点击图标才能选中的问题

vue2,vue3,element plus,级联选择器,el-cascader,点击文字就能选中,如何修改成点label就能选中,单选,多选,复选框,单选框,模式,饿了么组件库,无法通过点击整行直接选中的问题,点击文字行就能选择后弹框收起,选中完弹框无法收起,级联选择 点击文本选中 多选,不生效,有问题,原来的功能受影响,点击文字可选中去掉单选按钮选中后菜单收起,ElementUI Cascader 级联选择器实现点击文本选中,懒加载的数据怎么办,动态数据请求,多选模式下点击label文本选择,点击文本直

✅ 精选推荐文章 4148

includes 以及 indexOf 的使用以及区别

includes 方法 includes() 方法用来判断一个数组是否包含一个指定的值,如果是返回 true,否则false const a = ['a12', 'a23', 'a33', 'a34'] const b = ['a12', 'a23', 'a34'] let c = a.filter(item =>{ return !b.includes(item) }) console.log(c); indexOf 方法 直接打点调用,括号

QZ9420的博客 3174

vue2/3 - 实现列表点击选择及多选 / 全选功能,类似购物车商品列表单选和全选效果功能,vue实现单选和多选功能详细示例教程(详细示例源码,一键复制开箱即用)

vue列表单选和全选,vue购物车商品勾选和取消,vue列表中的全选和单选怎么做,vue列表中 checkbox 全选 、反选、单选,Vue考试题单选、多选,vue商品购物车列表怎么实现单选和全选,vue实现列表选中与取消,vue全选和单选_vue怎么实现全选单选,vue list列表全选,单选 ,翻页功能,vue实现购物车单选全选,Vue实现图片列表单选或者多选、全选的方法,Vue 单选题组件实现,Vue实现单选多选反选全选全不选,vue3 实现全选/全不选功能,vue 使用vant 的van-check

✅ 精选推荐文章 4387

MT4/MT5数据源接入全攻略:从买服务、自研API到低成本DDE,哪种方案适合你?

本文全面解析MT4/MT5数据源接入的三种主流方案:商业服务、自研API和低成本DDE,详细对比其技术参数、成本结构和适用场景。帮助技术团队根据业务需求选择最优方案,确保外汇交易系统的数据流稳定性和实时性,提升交易体验和业务连续性。

weixin_42568801的博客 176

一块学Vue:学习日记 - includes、indexOf、for循环、逻辑运算符 - 比较这四种方法在确认一个数是否存在于数组中时的表现

本文测试比较了includes、indexOf、for循环、逻辑运算符这四种方法,在确认一个数是否存在于数组中时的表现。

qq493919692的博客 3596

MoveIt2项目想换掉KDL求解器?试试这个trac_ik插件(附源码编译避坑指南)

本文详细介绍了如何在MoveIt2项目中用trac_ik插件替代KDL求解器,提升机械臂运动学求解的效率和成功率。内容涵盖环境准备、源码编译避坑、项目集成及性能调优,特别适合需要高精度控制的协作机械臂应用场景。通过实测数据对比,trac_ik在求解时间和奇异点处理上显著优于传统KDL求解器。

weixin_30730053的博客 699

Vue判断字符串(或数组)中是否包含某个元素的方法总结

Vue判断字符串中是否包含某个字符串,方法有好多种。

weixin_43337481的博客 1万+

FreeCAD MCP实战:用AI自然语言驱动CAD建模与自动化

在计算机辅助设计(CAD)领域,参数化建模和自动化脚本是提升设计效率的核心技术。其原理在于通过程序化指令控制三维模型的创建与修改,从而将设计意图转化为精确的几何实体。这种技术价值在于显著降低重复性操作成本,实现快速原型迭代和设计探索。在应用场景上,它尤其适用于需要频繁调整尺寸、生成系列化零件或执行规则化建模任务的工程与产品设计。本文聚焦的FreeCAD MCP项目,正是这一理念的先进实践。它通过集成Model Context Protocol(MCP),构建了一个连接Claude AI与FreeCAD的智能

weixin_26913055的博客 727

版图提取的spice网表中参数含义及二级效应STI/WPE

寄生电阻、寄生电容可以从版图提出的.sp文件中看, ad area of drain 面积 as area of source pd perimeter of drain 周长,PS PD周长都不计算与栅极接触的部分 ps perimeter of source nrd 漏扩散区等效方块数 nrs 源扩散区等效方块数 sa ...

qq_40007892的博客 6555

vue 怎么用 includes 判断字符串里有没有某个字符

includes 用法

qq_38818429的博客 1996

别再乱改宏定义了!STM32F103程序移植保姆级教程(从C8T6到ZET6实战)

本文详细解析了STM32F103程序从C8T6移植到ZET6的实战步骤,重点介绍了硬件差异、开发环境配置、时钟陷阱及外设处理等关键点。通过修改宏定义(如STM32F10X_HD)、调整启动文件和时钟配置,确保移植顺利进行。适合嵌入式开发者参考,避免常见移植问题。

weixin_42567497的博客 217

vue 实现单选/多选效果

Vue的多选效果 includes()方法判断是否包含某一元素,返回true或false表示是否包含元素,对NaN一样有效 filter()方法用于把Array的某些元素过滤掉,filter()把传入的函数依次作用于每个元素,然后根据返回值是true还是false决定保留还是丢弃该元素:生成新的数组 <template> <div class="content">...

sunlizhen的专栏 2108

AI视频生成本地搭建图文详细过程

在自己的电脑上搭建一个AI,主要用于通过自己输入的关键字来自动生成视频文案,把视频文案自动生成视频,再自动给视频配音配字幕。

张小三的博客 4696

C#通过Aforge调用电脑摄像头(附代码)

C#标准库本身不带有能调用电脑摄像头的库,如果利用windows自身的API来实现的话,着实有些麻烦。Aforge这个第三方库能很好的实现调用、处理的功能。 PS:文末给大家分享了完整的项目源码,各位最好先下载下来,对照着来看 1、先看一下效果 2、Aforge介绍 AForge.NET是一个专门为开发者和研究者基于C#框架设计的,这个框架提供了不同的类库和关于类库的资源,还有很多应用程序例子,包括计算机视觉与人工智能,图像处理,神经网络,遗传算法,机器学习,机器人等领域。 3、我使用的开发环境 操作系统

weixin_44996090的博客 1万+

vue实现单选多选全选全不选功能

单选 当用v-for渲染一组数据的时候,可以带上index来区分他们,这里利用这个index来简单地实现单选 <ul class="user-content" v-for="(list,index) in translist" :class="{bgcolor:index == checkid}" @click="checktrans(index)"> </ul> 根据...

于利文的博客 4284

Simulink开发项1000例实战专栏--实例38:基于Simulink的周波变换器(Cycloconverter)

需求分析周波变换器(Cycloconverter),也称为频率变换器或直接变频器,是一种将输入的固定频率交流电直接转换为不同频率的交流电的电力电子设备。它广泛应用于工业领域,如大功率电机驱动、风力发电、船舶推进系统等场合。与传统的间接变频器(如交-直-交变频器)相比,周波变换器具有更高的效率和更简单的结构,适用于需要低频输出的应用场景。

xiaoheshang_123的博客 335

element中Table表格控件单选、多选功能进一步优化

element中Table表格控件单选、多选功能进一步优化

weixin_41549971的博客 2283

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

WINCC7.3破解文件

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

Vue 中Element的table多选表格实现单选

Vue 中Element的table多选表格实现单选

小火车况且况且况且的博客 1万+

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

< elementUi 下拉选择框组件 树状部门选择( 多选/单选 )>

文章目录前言一、树状部门数据 下拉框单选实现代码:> 组件代码 ( 父 )> 组件代码 ( 子 )二、树状部门数据 下拉框单选解释:多选和单选的代码差不多,就不做庸余的复制粘贴了。总结 前言 在前端开发中,平时在填写表单中,可能会遇到需要展示选择树状数据的表单组件。但是在element中,并未提供能够处理树状数据选择的 select 选择框组件。所以就此,小温在开发中遇到类似的问题,封装了elementUi 的 select选择框组件。接下来给大家讲述一下! 希望能给大家一些帮助! 提示:以

一个平平无奇的技术宅 1万+

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

vue多选/单选

Vue的单选/多选效果 includes()方法判断是否包含某一元素,返回true或false表示是否包含元素,对NaN一样有效 filter()方法用于把Array的某些元素过滤掉,filter()把传入的函数依次作用于每个元素,然后根据返回值是true还是false决定保留还是丢弃该元素:生成新的数组 一、单选 DOM文档中结构如下: <ul class="box"> <l...

weixin_44003773的博客 1078

Vue 实现单选和多选

日常工作中,UI 库中 单选/多选 组件并不一定非常符合业务需求。这时候,不妨自己动手搞一个。 单选 思路 选中标识值与对象标识匹配时(本例使用索引),给所在标签添加选中样式;点击标签时,更改选中标识值。 代码: <template> <ul> <li v-for="(city, index) in cityList" :key="index" :class="{ checked: index === checkedIndex

qq_41548644的博客 3328

vue 实现多选和单选

上个小小的效果图,然后具体实现看代码 template <view v-for="(item, index) in list" @click="choose(index)"> <view class="choose" :class="{green:arr.includes(index)}"></view> <view>{{item.name}}</view> <view>聊天</view> </v..

Hero_rong的博客 1855

vant实现Select效果--单选和多选

vue项目无论是用element中的Select选择器,还是使用公司维护的组件,都可以轻松实现单选和多选的需求,但在移动端使用vant时,找了几遍发现居然没有提供Select组件,这里提供了基于popup和cell、field封装的select单选、多选组件。...

ljw的博客 1万+
上一篇: Git的基本操作
下一篇: 错误Unexpected token × in JSON at position 3的解决
7号样子
博客等级 码龄9年 18粉丝 22原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值