generated from thzxcx/vue3
31 lines
788 B
Vue
31 lines
788 B
Vue
<!--
|
|
* @Author: peerless_hero peerless_hero@outlook.com
|
|
* @Date: 2023-07-08 01:36:19
|
|
* @LastEditors: zhaojinfeng 121016171@qq.com
|
|
* @LastEditTime: 2023-07-13 12:06:10
|
|
* @FilePath: \uni\packages\card\index.vue
|
|
* @Description:
|
|
*
|
|
-->
|
|
<template>
|
|
<view class="th-card" bg-white rounded-16rpx m-24rpx max-w-702rpx overflow-hidden>
|
|
<slot />
|
|
<view v-if="noCardActions" h-16rpx />
|
|
</view>
|
|
</template>
|
|
|
|
<script lang="ts" setup name="Card">
|
|
import { useSlots } from 'vue'
|
|
|
|
/** 不存在操作栏组件时,自动增加底部的内边距 */
|
|
const noCardActions = useSlots().default().every(({ type }) =>
|
|
typeof type !== 'object' || !('name' in type) || type.name !== 'CardActions',
|
|
)
|
|
</script>
|
|
|
|
<style lang="scss">
|
|
.th-card {
|
|
box-shadow: 0px 1px 6px 0px #d8d8d880;
|
|
}
|
|
</style>
|