卡片 Vue 组件
卡片,连同列表视图,是包含和组织您信息的一种更多方式。卡片包含独特的相关数据,例如,关于单个主题的照片、文本和链接。卡片通常是更复杂和详细信息的一个入口点。
卡片 Vue 组件表示卡片组件。
卡片组件
包含以下组件:
f7-card
f7-card-header
f7-card-content
f7-card-footer
卡片属性
属性 | 类型 | 默认 | 描述 |
---|---|---|---|
<f7-card> 属性 | |||
title | 字符串 | 卡片头部内容 | |
内容 | 字符串 | 卡片内容 | |
尾部 | 字符串 | 卡片尾部内容 | |
内边距 | 布尔值 | true | 在卡片内容上添加额外的内部内边距 |
outline | 布尔值 | false | 创建卡片轮廓 - 带边框 |
轮廓Ios | 布尔值 | false | 在 iOS 主题中创建卡片轮廓 |
轮廓Md | 布尔值 | false | 在 MD 主题中创建卡片轮廓 |
raised | 布尔值 | false | 创建带阴影的卡片 - 抬起 |
header-divider | 布尔值 | false | 为卡片头部添加分隔符(边框) |
footer-divider | 布尔值 | false | 为卡片尾部添加分隔符(边框) |
expandable | 布尔值 | false | 启用可展开卡片 |
expandable-animate-width | 布尔值 | false | 启用卡片内容宽度也可动画化和响应式,但可能影响性能 |
expandable-opened | 布尔值 | false | 布尔属性指示可展开卡片是否已打开 |
animate | 布尔值 | true | 指定是否用动画打开可展开卡片 |
hide-navbar-on-open | 布尔值 | 在可展开卡片打开时将隐藏 Navbar。默认继承相同应用卡片参数. | |
hide-toolbar-on-open | 布尔值 | 在可展开卡片打开时将隐藏 Toolbar。默认继承相同应用卡片参数. | |
swipe-to-close | 布尔值 | 允许通过滑动关闭可展开卡片。默认继承相同应用卡片参数. | |
背景遮罩 | 布尔值 | 启用可展开卡片背景层。默认继承相同应用卡片参数. | |
backdrop-el | 字符串 | 允许指定自定义可展开卡片背景元素。这应该是背景元素的 CSS 选择器,例如.card-backdrop.custom-backdrop | |
close-by-backdrop-click | 布尔值 | 当启用时,点击可展开卡片的背景将关闭它。默认继承相同应用卡片参数. | |
<f7-card-content> 属性 | |||
内边距 | 布尔值 | true | 添加额外的内部内边距 |
卡片事件
事件 | 描述 |
---|---|
<f7-card> 事件 | |
card:beforeopen | 事件将在可展开卡片开始其打开动画之前触发。event.detail.prevent 包含一个函数,当调用时将阻止卡片打开 |
card:open | 事件将在可展开卡片开始其打开动画时触发 |
card:opened | 事件将在可展开卡片完成其打开动画后触发 |
card:close | 事件将在可展开卡片开始其关闭动画时触发 |
card:closed | 事件将在可展开卡片完成其关闭动画后触发 |
卡片插槽
<f7-card>
组件具有以下插槽:
default
- 元素将作为卡片内容元素的子元素插入content
- 与default
header
- 元素将作为卡片头部元素的子元素插入footer
- 元素将作为卡片尾部元素的子元素插入
<f7-card>
<span slot="header">Header</span>
<span slot="content">Content</span>
<span slot="footer">Footer</span>
</f7-card>
渲染到
<div class="card">
<div class="card-header">
<span>Header</span>
</div>
<div class="card-content">
<span>Content</span>
</div>
<div class="card-footer">
<span>Footer</span>
</div>
</div>
卡片 v-model
可展开卡片组件支持v-model
onexpandable-opened
prop:
<template>
<f7-page>
<f7-card expandable v-model:expandable-opened="isOpened">
...
</f7-card>
<p>Card is opened: {{ isOpened }}</p>
</f7-page>
</template>
<script>
export default {
data() {
return {
isOpened: false,
};
}
};
</script>
示例
cards.vue
<template>
<f7-page>
<f7-navbar title="Cards"></f7-navbar>
<f7-block>
<p>
Cards are a great way to contain and organize your information, especially when combined
with List Views. Cards can contain unique related data, like for example photos, text or
links about a particular subject. Cards are typically an entry point to more complex and
detailed information.
</p>
</f7-block>
<f7-block-title>Simple Cards</f7-block-title>
<f7-card
content="This is a simple card with plain text, but cards can also contain their own header, footer, list view, image, or any other element."
></f7-card>
<f7-card
title="Card header"
content="Card with header and footer. Card headers are used to display card titles and footers for additional information or just for custom actions."
footer="Card footer"
></f7-card>
<f7-card
content="Another card. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse feugiat sem est, non tincidunt ligula volutpat sit amet. Mauris aliquet magna justo. "
></f7-card>
<f7-block-title>Outline Cards</f7-block-title>
<f7-card
outline
content="This is a simple card with plain text, but cards can also contain their own header, footer, list view, image, or any other element."
></f7-card>
<f7-card
outline
title="Card header"
content="Card with header and footer. Card headers are used to display card titles and footers for additional information or just for custom actions."
footer="Card footer"
></f7-card>
<f7-card
outline
content="Another card. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse feugiat sem est, non tincidunt ligula volutpat sit amet. Mauris aliquet magna justo. "
></f7-card>
<f7-block-title>Outline With Dividers</f7-block-title>
<f7-card
outline
header-divider
footer-divider
title="Card header"
content="Card with header and footer. Card headers are used to display card titles and footers for additional information or just for custom actions."
footer="Card footer"
></f7-card>
<f7-block-title>Raised Cards</f7-block-title>
<f7-card
raised
content="This is a simple card with plain text, but cards can also contain their own header, footer, list view, image, or any other element."
></f7-card>
<f7-card
raised
title="Card header"
content="Card with header and footer. Card headers are used to display card titles and footers for additional information or just for custom actions."
footer="Card footer"
></f7-card>
<f7-card
raised
content="Another card. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse feugiat sem est, non tincidunt ligula volutpat sit amet. Mauris aliquet magna justo. "
></f7-card>
<f7-block-title>Styled Cards</f7-block-title>
<f7-card outline-md class="demo-card-header-pic">
<f7-card-header
valign="bottom"
style="background-image: url(https://cdn.framework7.io/placeholder/nature-1000x600-3.jpg)"
>Journey To Mountains</f7-card-header
>
<f7-card-content>
<p class="date">Posted on January 21, 2015</p>
<p>
Quisque eget vestibulum nulla. Quisque quis dui quis ex ultricies efficitur vitae non
felis. Phasellus quis nibh hendrerit...
</p>
</f7-card-content>
<f7-card-footer>
<f7-link>Like</f7-link>
<f7-link>Read more</f7-link>
</f7-card-footer>
</f7-card>
<f7-card class="demo-card-header-pic">
<f7-card-header
valign="bottom"
style="background-image: url(https://cdn.framework7.io/placeholder/people-1000x600-6.jpg)"
>Journey To Mountains</f7-card-header
>
<f7-card-content>
<p class="date">Posted on January 21, 2015</p>
<p>
Quisque eget vestibulum nulla. Quisque quis dui quis ex ultricies efficitur vitae non
felis. Phasellus quis nibh hendrerit...
</p>
</f7-card-content>
<f7-card-footer>
<f7-link>Like</f7-link>
<f7-link>Read more</f7-link>
</f7-card-footer>
</f7-card>
<f7-block-title>Cards With List View</f7-block-title>
<f7-card>
<f7-card-content :padding="false">
<f7-list>
<f7-list-item link="#">Link 1</f7-list-item>
<f7-list-item link="#">Link 2</f7-list-item>
<f7-list-item link="#">Link 3</f7-list-item>
<f7-list-item link="#">Link 4</f7-list-item>
<f7-list-item link="#">Link 5</f7-list-item>
</f7-list>
</f7-card-content>
</f7-card>
<f7-card title="New Releases:">
<f7-card-content :padding="false">
<f7-list medial-list>
<f7-list-item title="Yellow Submarine" subtitle="Beatles">
<template #media>
<img src="https://cdn.framework7.io/placeholder/fashion-88x88-4.jpg" width="44" />
</template>
</f7-list-item>
<f7-list-item title="Don't Stop Me Now" subtitle="Queen">
<template #media>
<img src="https://cdn.framework7.io/placeholder/fashion-88x88-5.jpg" width="44" />
</template>
</f7-list-item>
<f7-list-item title="Billie Jean" subtitle="Michael Jackson">
<template #media>
<img src="https://cdn.framework7.io/placeholder/fashion-88x88-6.jpg" width="44" />
</template>
</f7-list-item>
</f7-list>
</f7-card-content>
<f7-card-footer>
<span>January 20, 2015</span>
<span>5 comments</span>
</f7-card-footer>
</f7-card>
</f7-page>
</template>
<script>
import {
f7Navbar,
f7Page,
f7Block,
f7BlockTitle,
f7Card,
f7CardHeader,
f7CardContent,
f7CardFooter,
f7List,
f7ListItem,
f7Link,
} from 'framework7-vue';
export default {
components: {
f7Navbar,
f7Page,
f7Block,
f7BlockTitle,
f7Card,
f7CardHeader,
f7CardContent,
f7CardFooter,
f7List,
f7ListItem,
f7Link,
},
};
</script>