当前位置:首页 > VUE

vue实现卡片

2026-02-10 16:29:35VUE

Vue 实现卡片组件

在 Vue 中实现卡片组件可以通过多种方式完成,以下是几种常见的方法:

使用原生 HTML 和 CSS

创建一个基本的卡片结构,利用 Vue 的数据绑定和样式控制功能:

<template>
  <div class="card">
    <div class="card-header">
      {{ title }}
    </div>
    <div class="card-body">
      {{ content }}
    </div>
    <div class="card-footer">
      <button @click="handleClick">点击</button>
    </div>
  </div>
</template>

<script>
export default {
  props: {
    title: String,
    content: String
  },
  methods: {
    handleClick() {
      this.$emit('card-clicked');
    }
  }
};
</script>

<style scoped>
.card {
  border: 1px solid #ddd;
  border-radius: 4px;
  padding: 16px;
  margin: 8px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.card-header {
  font-weight: bold;
  margin-bottom: 8px;
}
.card-body {
  margin-bottom: 8px;
}
.card-footer {
  text-align: right;
}
</style>

使用 UI 框架(如 Element UI、Vuetify 等)

vue实现卡片

许多流行的 Vue UI 框架提供了现成的卡片组件:

<template>
  <el-card :header="title">
    {{ content }}
    <template #footer>
      <el-button @click="handleClick">点击</el-button>
    </template>
  </el-card>
</template>

<script>
export default {
  props: {
    title: String,
    content: String
  },
  methods: {
    handleClick() {
      this.$emit('card-clicked');
    }
  }
};
</script>

动态卡片列表

vue实现卡片

展示一个卡片列表,使用 v-for 指令:

<template>
  <div class="card-list">
    <div v-for="(card, index) in cards" :key="index" class="card">
      <div class="card-header">{{ card.title }}</div>
      <div class="card-body">{{ card.content }}</div>
    </div>
  </div>
</template>

<script>
export default {
  data() {
    return {
      cards: [
        { title: '卡片1', content: '内容1' },
        { title: '卡片2', content: '内容2' }
      ]
    };
  }
};
</script>

带交互功能的卡片

实现一个可折叠的卡片:

<template>
  <div class="card">
    <div class="card-header" @click="toggle">
      {{ title }}
      <span>{{ isOpen ? '▲' : '▼' }}</span>
    </div>
    <div class="card-body" v-show="isOpen">
      {{ content }}
    </div>
  </div>
</template>

<script>
export default {
  props: {
    title: String,
    content: String
  },
  data() {
    return {
      isOpen: false
    };
  },
  methods: {
    toggle() {
      this.isOpen = !this.isOpen;
    }
  }
};
</script>

这些方法涵盖了从基础到高级的卡片实现方式,可以根据项目需求选择合适的方案。

标签: 卡片vue
分享给朋友:

相关文章

vue实现导航栏切图

vue实现导航栏切图

Vue 实现导航栏切图 使用 Vue Router 实现基础导航 在 Vue 项目中,可以通过 Vue Router 实现导航栏的路由切换。创建一个导航栏组件,并在其中使用 <router-li…

vue功能实现

vue功能实现

Vue 功能实现指南 Vue.js 是一个渐进式 JavaScript 框架,广泛用于构建用户界面。以下是 Vue 功能的常见实现方法。 数据绑定 Vue 的核心功能之一是数据绑定,通过 v-mod…

vue  实现tab

vue 实现tab

实现 Tab 切换功能 在 Vue 中实现 Tab 切换功能可以通过动态组件或条件渲染完成。以下是两种常见方法: 使用 v-if 或 v-show 实现条件渲染 通过绑定 currentTab 变量…

vue拼图实现

vue拼图实现

实现 Vue 拼图游戏的方法 使用 Vue 组件和动态数据绑定 创建一个 Vue 组件来管理拼图的状态和逻辑。通过 v-for 动态渲染拼图块,利用 v-bind 绑定样式和位置。拼图块的数据可以存储…

vue实现增删

vue实现增删

Vue 实现增删功能 在 Vue 中实现增删功能通常涉及数据绑定、事件处理和列表渲染。以下是基于 Vue 2 或 Vue 3 的实现方法: 数据定义 初始化一个数组用于存储列表数据,并在 Vue 实…

vue实现模糊

vue实现模糊

Vue实现模糊搜索的方法 在Vue中实现模糊搜索功能通常需要结合输入框和列表渲染,通过监听输入内容动态过滤数据。以下是几种常见实现方式: 使用计算属性实现 计算属性适合处理需要响应式更新的搜索逻辑:…