mirror of
https://gitee.com/vant-contrib/vant.git
synced 2025-04-06 03:57:59 +08:00
65 lines
1.1 KiB
Vue
65 lines
1.1 KiB
Vue
<template>
|
|
<div class="van-doc-demo-block" :class="demoName">
|
|
<h2 v-if="title" class="van-doc-demo-block__title">{{ title }}</h2>
|
|
<div v-if="card" class="van-doc-demo-block__card">
|
|
<slot />
|
|
</div>
|
|
<slot v-else />
|
|
</div>
|
|
</template>
|
|
|
|
<script>
|
|
import { decamelize } from '../../common';
|
|
|
|
export default {
|
|
name: 'demo-block',
|
|
|
|
props: {
|
|
card: Boolean,
|
|
title: String,
|
|
},
|
|
|
|
computed: {
|
|
demoName() {
|
|
const { meta } = this.$route || {};
|
|
if (meta && meta.name) {
|
|
return `demo-${decamelize(meta.name)}`;
|
|
}
|
|
|
|
return '';
|
|
},
|
|
},
|
|
};
|
|
</script>
|
|
|
|
<style lang="less">
|
|
@import '../../common/style/var';
|
|
|
|
.van-doc-demo-block {
|
|
&__title {
|
|
margin: 0;
|
|
padding: 32px 16px 16px;
|
|
color: @van-doc-text-light-blue;
|
|
font-weight: normal;
|
|
font-size: 14px;
|
|
line-height: 16px;
|
|
}
|
|
|
|
&__card {
|
|
margin: 12px 12px 0;
|
|
overflow: hidden;
|
|
border-radius: 8px;
|
|
}
|
|
|
|
&__title + &__card {
|
|
margin-top: 0;
|
|
}
|
|
|
|
&:first-of-type {
|
|
.van-doc-demo-block__title {
|
|
padding-top: 20px;
|
|
}
|
|
}
|
|
}
|
|
</style>
|