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

elementUI点击el-card选中边框变色

要实现当选中某一个卡片时其边框颜色变色,你可以通过 Vue 的状态管理和条件绑定类来实现。下面是具体的实现步骤:

  1. 在 data 中定义一个状态来追踪选中的卡片。
  2. 在 el-card上绑定点击事件来更新选中的状态。
  3. 使用条件绑定类来应用选中的样式。
<template><el-dialog v-model="knowledgeVisible" title="选择知识库" width="600"><el-row :gutter="20"><el-col :span="12" v-for="(knowledge, index) in knowledgeList" :key="index"><el-card :class="{ 'is-selected': selectedCardIndex === index }":shadow="never"class="knowledge-card"@click="selectCard(index)"><div style="display: flex; align-items: center; margin-bottom: 10px;"><img src="https://ai.zscampus.com/aistatic/img/logoV.png" style="width: 10%; margin-right: 5px;"><span class="pc-material-title">{{ knowledge.knowledge_name }}</span></div><span class="pc-material-time">创建时间: {{ knowledge.create_time }}</span></el-card></el-col></el-row></el-dialog>
</template><script>
export default {data() {return {knowledgeVisible: false,selectedCardIndex: null, // 追踪选中的卡片索引knowledgeList: [// 示例数据{ knowledge_name: '知识库1', create_time: '2024-01-01' },{ knowledge_name: '知识库2', create_time: '2024-02-01' },],};},methods: {selectCard(index) {this.selectedCardIndex = index; // 更新选中的卡片索引},},
};
</script><style scoped>
/* 默认卡片样式 */
.knowledge-card {transition: border-color 0.3s ease;
}/* 选中卡片的样式 */
.is-selected {border: 2px solid #409eff; /* 选中时的边框颜色 */
}
</style>

解释

  • 状态管理:

selectedCardIndex 用于追踪当前选中的卡片索引。
knowledgeList 数组保存卡片的数据。

  • 点击事件:

每个 el-card 绑定了 @click 事件,当点击卡片时,会调用 selectCard 方法并传递当前卡片的索引。
selectCard 方法更新 selectedCardIndex,从而更新选中的状态。

  • 样式应用:

使用 :class 绑定,根据 selectedCardIndex 的值来应用 is-selected 类。
.is-selected 类定义了选中时的边框颜色。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • photoshop学习笔记——选区3
  • Github 2024-07-27开源项目日报 Top10
  • 4 款最佳 C# 无头浏览器
  • 基于SpringBoot+Vue的在线政务服务中心(带1w+文档)
  • 计算机体系结构:缓存一致性ESI
  • Java(十)——接口
  • 【中项】系统集成项目管理工程师-第8章 信息安全工程-8.2信息安全系统
  • 浏览器自动化测试工具selenium——爬虫操作记录
  • 每天一个数据分析题(四百五十八)- 根因分析
  • 基于SpringBoot+Vue的热门网游推荐网站(带1w+文档)
  • 使用requests库进行网络爬虫:入门指南
  • upload-labs靶场(1-19关)
  • TongHttpServer 简介
  • 美团后端二面
  • Docker容器下面home assistant忘记账号密码怎么重置?
  • 深入了解以太坊
  • JavaScript服务器推送技术之 WebSocket
  • java第三方包学习之lombok
  • Laravel5.4 Queues队列学习
  • Linux CTF 逆向入门
  • python 装饰器(一)
  • spring boot 整合mybatis 无法输出sql的问题
  • vuex 学习笔记 01
  • Vue--数据传输
  • 猫头鹰的深夜翻译:Java 2D Graphics, 简单的仿射变换
  • 前端
  • Spring Batch JSON 支持
  • 阿里云IoT边缘计算助力企业零改造实现远程运维 ...
  • ‌U盘闪一下就没了?‌如何有效恢复数据
  • # C++之functional库用法整理
  • #Linux(权限管理)
  • #我与Java虚拟机的故事#连载09:面试大厂逃不过的JVM
  • (04)odoo视图操作
  • (7) cmake 编译C++程序(二)
  • (delphi11最新学习资料) Object Pascal 学习笔记---第13章第6节 (嵌套的Finally代码块)
  • (done) 两个矩阵 “相似” 是什么意思?
  • (ibm)Java 语言的 XPath API
  • (MTK)java文件添加简单接口并配置相应的SELinux avc 权限笔记2
  • (zt)基于Facebook和Flash平台的应用架构解析
  • (三)SvelteKit教程:layout 文件
  • (十三)MipMap
  • (一)springboot2.7.6集成activit5.23.0之集成引擎
  • (已解决)报错:Could not load the Qt platform plugin “xcb“
  • (原创)可支持最大高度的NestedScrollView
  • .JPG图片,各种压缩率下的文件尺寸
  • .md即markdown文件的基本常用编写语法
  • .net core 3.0 linux,.NET Core 3.0 的新增功能
  • .net core 6 集成和使用 mongodb
  • .NET LINQ 通常分 Syntax Query 和Syntax Method
  • .NET 解决重复提交问题
  • .NET 中各种混淆(Obfuscation)的含义、原理、实际效果和不同级别的差异(使用 SmartAssembly)
  • .net6Api后台+uniapp导出Excel
  • .netcore 6.0/7.0项目迁移至.netcore 8.0 注意事项
  • /ThinkPHP/Library/Think/Storage/Driver/File.class.php  LINE: 48
  • [2018-01-08] Python强化周的第一天