当前位置: 首页 > news >正文

vue-标签选择

效果

选中后

代码

<span

                    :class="[item.beal==true?'p_yx_span span_active ':'span p_yx']"

                    @click="onTagSelect(index)"

                    v-for="(item,index) in tagList"

                    :key="index"

                    >{{item.name}}

                </span>

// 列表值 

tagList:[

            {id: 1, name: 'tag 1',beal:false},

            {id: 2, name: 'tag 2',beal:false},

            {id: 3, name: 'tag 3',beal:false},

            {id: 4, name: 'tag 4',beal:false},

            {id: 5, name: 'tag 5',beal:false},

            {id: 6, name: 'tag 6',beal:false}

        ],

        // 选中值

        tagChooseData:[],

// 标签选择

        onTagSelect(e){

            this.tagList[e].beal = !this.tagList[e].beal;  //点击后改变状态

            if (this.tagList[e].beal == true) {

                this.tagChooseData.push(this.tagList[e].name);   //如果点击后是true那么直接添加

            } else {

                //如果不是true的话说明这个标签已经存在了,那么就要查找然后删除

                var index = this.tagChooseData.map(item => item).indexOf(this.tagList[e].name);

                if (index != -1) {

                this.tagChooseData.splice(index, 1);

                }

            }

        }

样式

.span {

  display: inline-block;

  padding: 0 10px;

  height: 20px;

  line-height: 20px;

  background: rgba(255, 255, 255, 1);

  box-shadow: 0px 1px 4px 0px rgba(141, 141, 141, 0.3);

  border-radius: 4px;

  font-size: 12px;

  font-family: Microsoft YaHei;

  font-weight: 400;

  color: rgba(34, 34, 34, 1);

  margin-left: 10px;

  cursor: pointer;

  min-width: 44px;

  text-align: center;

}

.span_active {

  background: rgba(236, 173, 64, 1);

  color: #fff;

}

.p_yx {

  color: #222;

}

.p_yx_span {

  display: inline-block;

  padding: 0 10px;

  height: 20px;

  line-height: 20px;

  background: rgb(76, 96, 193);

  box-shadow: 0px 1px 4px 0px rgba(141, 141, 141, 0.3);

  border-radius: 4px;

  font-size: 12px;

  font-family: Microsoft YaHei;

  font-weight: 400;

  color: rgba(34, 34, 34, 1);

  margin-left: 10px;

  cursor: pointer;

  min-width: 44px;

  text-align: center;

}

相关文章:

  • HTML (总结黑马的)
  • JVM学习笔记(持续更新)
  • React(四)memo、useCallback、useMemo Hook
  • 机器学习各个算法的优缺点!(上篇) 建议收藏。
  • VUE阻止浏览器记住密码若依CLOUD(INPUT框密码替换圆点)
  • 一个可以自动生成随机区组试验的excel VBA小程序
  • uniapp使用数据持久化存储
  • 【JavaEE进阶】——Mybatis操作数据库(使用注解和XML方式)
  • docker部署Minio对象存储及使用
  • mongodb 编码格式 Detected BSON
  • Golang中的 defer 关键字和Python中的上下文管理with关键字
  • 数据治理-数据标准演示
  • 5岁幼儿编程:开启未来的神秘之门
  • 数据库(15)——DQL分页查询
  • npm install 出错,按照版本不匹配解决
  • 【mysql】环境安装、服务启动、密码设置
  • 【编码】-360实习笔试编程题(二)-2016.03.29
  • Apache的80端口被占用以及访问时报错403
  • Babel配置的不完全指南
  • Druid 在有赞的实践
  • HTTP传输编码增加了传输量,只为解决这一个问题 | 实用 HTTP
  • linux安装openssl、swoole等扩展的具体步骤
  • SpiderData 2019年2月13日 DApp数据排行榜
  • vue 配置sass、scss全局变量
  • 罗辑思维在全链路压测方面的实践和工作笔记
  • 如何优雅的使用vue+Dcloud(Hbuild)开发混合app
  • 我看到的前端
  • 云大使推广中的常见热门问题
  • Hibernate主键生成策略及选择
  • ​软考-高级-信息系统项目管理师教程 第四版【第19章-配置与变更管理-思维导图】​
  • ​什么是bug?bug的源头在哪里?
  • #{} 和 ${}区别
  • #常见电池型号介绍 常见电池尺寸是多少【详解】
  • #进阶:轻量级ORM框架Dapper的使用教程与原理详解
  • (01)ORB-SLAM2源码无死角解析-(56) 闭环线程→计算Sim3:理论推导(1)求解s,t
  • (04)Hive的相关概念——order by 、sort by、distribute by 、cluster by
  • (7)摄像机和云台
  • (Matalb时序预测)PSO-BP粒子群算法优化BP神经网络的多维时序回归预测
  • (react踩过的坑)Antd Select(设置了labelInValue)在FormItem中initialValue的问题
  • (Redis使用系列) Springboot 整合Redisson 实现分布式锁 七
  • (附源码)springboot车辆管理系统 毕业设计 031034
  • (论文阅读40-45)图像描述1
  • (没学懂,待填坑)【动态规划】数位动态规划
  • (每日一问)操作系统:常见的 Linux 指令详解
  • (南京观海微电子)——COF介绍
  • (强烈推荐)移动端音视频从零到上手(上)
  • (一)Java算法:二分查找
  • (转)fock函数详解
  • ***汇编语言 实验16 编写包含多个功能子程序的中断例程
  • .net CHARTING图表控件下载地址
  • .NET MAUI Sqlite程序应用-数据库配置(一)
  • .net web项目 调用webService
  • .NET 使用 XPath 来读写 XML 文件
  • .vollhavhelp-V-XXXXXXXX勒索病毒的最新威胁:如何恢复您的数据?
  • /etc/apt/sources.list 和 /etc/apt/sources.list.d