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"
        
<template> <el-card class="mb-[10px]"> <template #header> 待办 </template> <el-empty v-if="todos.length === 0" description="暂无待办事项" /> <div v-for="todo in todos" :key="todo.id" class="item" v-else> <div class="title-box"> <div class="title">{{ todo.title }}</div> <el-tag type="primary" v-if="todo.status === 1">未开始</el-tag> <el-tag type="success" v-else-if="todo.status === 2">已完成</el-tag> <el-tag type="warning" v-else-if="todo.status === 3">进行中</el-tag> <el-tag type="danger" v-else>已过期</el-tag> </div> <div class="desc">{{ todo.description }}</div> <div class="expire">截止日期:{{ todo.createdAt }}</div> </div> </el-card> </template> <script setup> import { formatDate } from '@/utils/formatTime' // 待办事项数据 const todos = ref([ { id: 1, title: '完成季度财务报告', description: '整理所有部门的财务数据并生成季度报告', status: 1, dueDate: new Date(Date.now() + 86400000 * 2), // 2天后 createdAt: '2025-12-23' }, { id: 2, title: '修复登录页面BUG', description: '用户反馈登录页面验证码无法显示的问题', status: 2, dueDate: new Date(Date.now() + 86400000), // 1天后 createdAt: '2025-12-23' }, { id: 3, title: '更新产品文档', description: '根据最新版本更新用户手册和技术文档', status: 1, dueDate: new Date(Date.now() + 86400000 * 5), createdAt: '2025-12-23' }, { id: 4, title: '准备团队建设活动', description: '策划下个月的团队建设活动方案', status: 4, dueDate: new Date(Date.now() - 86400000), createdAt: '2025-12-23' } ]) </script> <style lang="scss" scoped> .item { width: 100%; .title-box { width: 100%; display: flex; align-items: center; } .title { width: calc(100% - 100px); overflow: hidden; white-space: nowrap; text-overflow: ellipsis; } } </style> 样式优化
最新发布
07-15
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值