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;

}

相关推荐
林希_Rachel_傻希希1 分钟前
手写Promise最终版本
前端·javascript·面试
visnix3 分钟前
AI大模型-LLM原理剖析到训练微调实战(第二部分:大模型核心原理与Transformer架构)
前端·llm
老妪力虽衰4 分钟前
零基础的小白也能通过AI搭建自己的网页应用
前端
该用户已不存在4 分钟前
Node.js后端开发必不可少的7个核心库
javascript·后端·node.js
褪色的笔记簿7 分钟前
在 Vue 项目里管理弹窗组件:用 ref 还是用 props?
前端·vue.js
Danny_FD9 分钟前
使用Taro实现微信小程序仪表盘:使用canvas实现仪表盘(有仪表盘背景,也可以用于Web等)
前端·taro·canvas
掘金安东尼17 分钟前
VSCode V1.107 发布(2025 年 11 月)
前端·visual studio code
一只小阿乐21 分钟前
前端vue3 web端中实现拖拽功能实现列表排序
前端·vue.js·elementui·vue3·前端拖拽
AAA阿giao26 分钟前
从“操纵绳子“到“指挥木偶“:Vue3 Composition API 如何彻底改变前端开发范式
开发语言·前端·javascript·vue.js·前端框架·vue3·compositionapi
TextIn智能文档云平台32 分钟前
图片转文字后怎么输入大模型处理
前端·人工智能·python