Card 卡片

通用卡片容器。

何时使用

最基础的卡片容器,可承载文字、列表、图片、段落,常用于后台概览页面。

代码演示

典型卡片

包含标题、内容、操作区域。

  1. <template>
  2. <v-card title="Card title" @mouseleave.native="changeShow" @mouseenter.native="changeShow">
  3. <p>Card content</p>
  4. <p>Card content</p>
  5. <p>Card content</p>
  6. <div slot="extra" v-show="isShow">
  7. <v-button type="primary">编辑</v-button>
  8. <v-button type="danger">删除</v-button>
  9. </div>
  10. </v-card>
  11. </template>
  12. <script>
  13. export default {
  14. data: function() {
  15. return {
  16. isShow:false
  17. }
  18. },
  19. methods: {
  20. changeShow(){
  21. this.isShow = !this.isShow;
  22. },
  23. }
  24. }
  25. </script>

简介卡片

只包内容。

  1. <template>
  2. <v-card>
  3. <p>Card content</p>
  4. <p>Card content</p>
  5. <p>Card content</p>
  6. </v-card>
  7. </template>

无边框

在灰色背景上使用无边框的卡片。

  1. <template>
  2. <v-card title="Card title" :bordered="false">
  3. <p>Card content</p>
  4. <p>Card content</p>
  5. <p>Card content</p>
  6. </v-card>
  7. </template>

更灵活的内容展示

可以调整默认边距,设定宽度。

  1. <template>
  2. <v-card :body-style="{ padding: 0 }" style="width:240px;">
  3. <div class="custom-image">
  4. <img alt="example" width="100%" src="https://os.alipayobjects.com/rmsportal/QBnOOoLaAfKPirc.png">
  5. </div>
  6. <div class="custom-card">
  7. <h3>Europe Street beat</h3>
  8. <p>www.instagram.com</p>
  9. </div>
  10. </v-card>
  11. </template>

栅格卡片

在系统概览页面常常和栅格进行配合。

  1. <template>
  2. <div style="background: #ECECEC;padding: 30px">
  3. <v-row :gutter="16">
  4. <v-col :span="8">
  5. <v-card title="Card title" :bordered="false">Card content</v-card>
  6. </v-col>
  7. <v-col :span="8">
  8. <v-card title="Card title" :bordered="false">Card content</v-card>
  9. </v-col>
  10. <v-col :span="8">
  11. <v-card title="Card title" :bordered="false">Card content</v-card>
  12. </v-col>
  13. </v-row>
  14. </div>
  15. </template>

加载中状态

当内容正在加载时,显示 loading 状态。

  1. <template>
  2. <v-card title="Card title" :loading="loading">
  3. <p>Card content</p>
  4. <p>Card content</p>
  5. <p>Card content</p>
  6. </v-card>
  7. <p>
  8. <v-button type="primary" @click="onClick">切换loading状态</v-botton>
  9. </p>
  10. </template>
  11. <script>
  12. export default {
  13. data: function() {
  14. return {
  15. loading: true,
  16. }
  17. },
  18. methods: {
  19. onClick() {
  20. this.loading = !this.loading;
  21. }
  22. }
  23. }
  24. </script>

网格型内嵌卡片

一种常见的卡片内容区隔模式。

  1. <template>
  2. <v-card title="Card title" no-hovering>
  3. <v-card-grid :style="{width: '25%', textAlign: 'center'}">Content</v-card-grid>
  4. <v-card-grid :style="{width: '25%', textAlign: 'center'}">Content</v-card-grid>
  5. <v-card-grid :style="{width: '25%', textAlign: 'center'}">Content</v-card-grid>
  6. <v-card-grid :style="{width: '25%', textAlign: 'center'}">Content</v-card-grid>
  7. <v-card-grid :style="{width: '25%', textAlign: 'center'}">Content</v-card-grid>
  8. <v-card-grid :style="{width: '25%', textAlign: 'center'}">Content</v-card-grid>
  9. <v-card-grid :style="{width: '25%', textAlign: 'center'}">Content</v-card-grid>
  10. </v-card>
  11. </template>

API

Card Props

参数说明类型默认值
title卡片标题String-
slot:extra卡片右上角的操作区域Slot Node-
bordered是否有边框Booleantrue
bodyStyle内容区域自定义样式Object-
noHovering取消鼠标移过浮起Booleanfalse
loading当卡片内容还在加载中时,可以用 loading 展示一个占位Booleanfalse