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.tagListe.beal = !this.tagListe.beal; //点击后改变状态

if (this.tagListe.beal == true) {

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

} else {

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

var index = this.tagChooseData.map(item => item).indexOf(this.tagListe.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;

}

相关推荐
东方小月5 小时前
从零开发一个 Coding Agent(四):使用状态机校验大模型事件流
前端·人工智能·后端
想做后端的前端5 小时前
WebGL实现FPS游戏
vue.js·游戏·webgl
Csvn5 小时前
🧩 ESM vs CJS 混用的 7 个「天坑」——从 TypeScript 编译到 Node 与浏览器
前端
Csvn6 小时前
🎯 Web 性能 API 集合:Performance Observer 的 5 个冷门妙用
前端
Csvn6 小时前
深入 React 闭包陷阱:从根源上理解并根治 stale closure
前端
whyfail6 小时前
前端学 Spring Boot(8):接口为什么越用越慢?
前端·spring boot·后端
用户059540174467 小时前
LangChain 记忆测试踩坑实录:这两个坑让我排查了 4 小时
前端·css
程序员黑豆7 小时前
鸿蒙应用开发:@Monitor 装饰器使用教程
前端·harmonyos
用户938515635077 小时前
从零构建《天龙八部》知识库:EPUB 加载→文本分割→向量嵌入→Milvus 存储→RAG 问答,一条链路打通
javascript·人工智能·全栈
SamChan907 小时前
在Web应用中集成PDF多语言翻译功能:PDFTranslator API实战指南
前端·python·ai·pdf·yapi·机器翻译