vue-标签选择

news/2024/10/21 15:12:53/

效果

选中后

代码

<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;

}


http://www.ppmy.cn/news/1465888.html

相关文章

Elasticsearch 认证模拟题 - 5

一、题目 .在集群上有一个索引 food_ingredient&#xff0c;搜索需要满足以下要求&#xff1a; 三个字段 manufacturer&#xff0c;name&#xff0c;brand 都能匹配到文本 cake mix高亮 字段 name&#xff0c;并加标签排序&#xff0c;对字段 brand 正序&#xff0c;_score 降…

6月01日,每日信息差

第一、东航 C919 国产大飞机成功执飞首个跨境商业包机&#xff0c;从上海虹桥机场飞往香港特区&#xff0c;主要目的是为了运送参加 「沪港同心 相聚上海」 实习计划的香港青年学生。当天的返程包机预计在下午从香港起飞&#xff0c;回到虹桥机场&#xff0c;届时将有一场欢迎仪…

嵌入式人工智能开发:基于TensorFlow Lite和Edge TPU的实时对象检测系统

文章目录 引言环境准备人工智能在嵌入式系统中的应用场景代码示例常见问题及解决方案结论 1. 引言 随着人工智能&#xff08;AI&#xff09;和物联网&#xff08;IoT&#xff09;技术的快速发展&#xff0c;嵌入式系统中集成AI技术已成为一种趋势。实时对象检测是AI在嵌入式…

使用QT生成二维码的两种方式

目录 使用QRenCode生成二维码编译生成QRenCode库使用QRenCode结果演示优缺点&#xff1a; 使用QZXing进行二维码的编码和解码编译源码使用QZXing库运行结果优缺点 使用QRenCode生成二维码 编译生成QRenCode库 QRenCode开源库 下载好之后使用cmake-gui打开进行构建生成。 点击…

如何使用JavaScript获取当前URL?

在现代开发中,我们经常需要获取当前网页的URL来完成各种操作,例如页面重定向、参数解析等。在URL的处理上,JavaScript提供了一系列强大且便捷的工具。这篇文章将详细讲解如何使用JavaScript获取当前页面的URL,并分解URL的各个组成部分。 使用JavaScript获取完整的URL 获取…

2024华为OD机试真题-分割均衡字符串-C++(C卷D卷)

题目描述 均衡串定义: 字符串只包含两种字符,且两种字符的个数相同。 给定一个均衡字符串,请给出可分割成新的均衡子串的最大个数。 约定字符串中只包含大写的X和Y两种字符。 输入描述 均衡串: XXYYXY 字符串的长度[2,100001]。给定的字符串均为均衡串 输出描述 可分割为两个…

设计模式 22 访问者模式 Visitor Pattern

设计模式 22 访问者模式 Visitor Pattern 1.定义 访问者模式是一种行为型设计模式&#xff0c;它允许你在不改变已有类结构的情况下&#xff0c;为一组对象添加新的操作。它将算法与对象结构分离&#xff0c;使你能够在不修改现有类的情况下&#xff0c;为这些类添加新的操作。…

期权与股票在交易上是有什么区别吗?

国内的股票市场&#xff0c;只能做多&#xff0c;T1交易。期权则分为4个方向&#xff0c;买入看涨期权&#xff0c;买入看跌期权&#xff0c;也就是做多和做空T0双向交易&#xff0c;同时每个方向还区分不同的行权价&#xff0c;每个行权价对应的4个方向的期权&#xff0c;都有…