import { defineComponent, inject } from 'vue'; import PropTypes from '../_util/vue-types'; import { getComponent } from '../_util/props-util'; import { defaultConfigProvider } from '../config-provider'; export default defineComponent({ name: 'ACardMeta', props: { prefixCls: PropTypes.string, title: PropTypes.VNodeChild, description: PropTypes.VNodeChild, avatar: PropTypes.VNodeChild, }, setup() { return { configProvider: inject('configProvider', defaultConfigProvider), }; }, render() { const { prefixCls: customizePrefixCls } = this.$props; const { getPrefixCls } = this.configProvider; const prefixCls = getPrefixCls('card', customizePrefixCls); const classString = { [`${prefixCls}-meta`]: true, }; const avatar = getComponent(this, 'avatar'); const title = getComponent(this, 'title'); const description = getComponent(this, 'description'); const avatarDom = avatar ?
{avatar}
: null; const titleDom = title ?
{title}
: null; const descriptionDom = description ? (
{description}
) : null; const MetaDetail = titleDom || descriptionDom ? (
{titleDom} {descriptionDom}
) : null; return (
{avatarDom} {MetaDetail}
); }, });