51 lines
1.4 KiB
Vue
51 lines
1.4 KiB
Vue
|
|
<template>
|
|||
|
|
<view class="u-gap" :style="$u.toStyle(gapStyle, customStyle)"></view>
|
|||
|
|
</template>
|
|||
|
|
|
|||
|
|
<script lang="ts">
|
|||
|
|
export default {
|
|||
|
|
name: 'u-gap',
|
|||
|
|
options: {
|
|||
|
|
addGlobalClass: true,
|
|||
|
|
// #ifndef MP-TOUTIAO
|
|||
|
|
virtualHost: true,
|
|||
|
|
// #endif
|
|||
|
|
styleIsolation: 'shared'
|
|||
|
|
}
|
|||
|
|
};
|
|||
|
|
</script>
|
|||
|
|
|
|||
|
|
<script setup lang="ts">
|
|||
|
|
import { GapProps } from './types';
|
|||
|
|
import { computed } from 'vue';
|
|||
|
|
import { $u } from '../../';
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* gap 间隔槽
|
|||
|
|
* @description 该组件一般用于内容块之间的用一个灰色块隔开的场景,方便用户风格统一,减少工作量
|
|||
|
|
* @tutorial https://uviewpro.cn/zh/components/gap.html
|
|||
|
|
* @property {String} bg-color 背景颜色(默认var(--u-bg-color))
|
|||
|
|
* @property {String Number} height 分割槽高度,单位rpx(默认30)
|
|||
|
|
* @property {String Number} margin-top 与前一个组件的距离,单位rpx(默认0)
|
|||
|
|
* @property {String Number} margin-bottom 与后一个组件的距离,单位rpx(0)
|
|||
|
|
* @example <u-gap height="80" bg-color="var(--u-light-color)"></u-gap>
|
|||
|
|
*/
|
|||
|
|
const props = defineProps(GapProps);
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 间隔槽样式
|
|||
|
|
*/
|
|||
|
|
const gapStyle = computed(() => {
|
|||
|
|
return {
|
|||
|
|
backgroundColor: props.bgColor,
|
|||
|
|
height: $u.addUnit(props.height),
|
|||
|
|
marginTop: $u.addUnit(props.marginTop),
|
|||
|
|
marginBottom: $u.addUnit(props.marginBottom)
|
|||
|
|
};
|
|||
|
|
});
|
|||
|
|
</script>
|
|||
|
|
|
|||
|
|
<style lang="scss" scoped>
|
|||
|
|
@import '../../libs/css/style.components.scss';
|
|||
|
|
</style>
|