refactor(projects): 代码优化

This commit is contained in:
燕博文 2022-06-17 16:29:06 +08:00
parent 894b0f1c18
commit 41147b34fa
2 changed files with 7 additions and 12 deletions

View File

@ -14,7 +14,7 @@
<Icon v-else-if="item.icon" class="text-34px text-primary" :icon="item.icon" /> <Icon v-else-if="item.icon" class="text-34px text-primary" :icon="item.icon" />
</template> </template>
<template #header> <template #header>
<n-ellipsis :line-clamp="titleRows" :tooltip="{ placement: 'top' }"> <n-ellipsis :line-clamp="1">
{{ item.title }} {{ item.title }}
<template #tooltip> <template #tooltip>
{{ item.title }} {{ item.title }}
@ -25,7 +25,7 @@
<n-tag v-bind="item.tagProps" size="small">{{ item.tagTitle }}</n-tag> <n-tag v-bind="item.tagProps" size="small">{{ item.tagTitle }}</n-tag>
</template> </template>
<template #description> <template #description>
<n-ellipsis v-if="item.description" :line-clamp="descRows"> <n-ellipsis v-if="item.description" :line-clamp="2">
{{ item.description }} {{ item.description }}
</n-ellipsis> </n-ellipsis>
<p>{{ item.date }}</p> <p>{{ item.date }}</p>
@ -40,8 +40,6 @@ import { Icon } from '@iconify/vue';
interface Props { interface Props {
list?: Message.List[]; list?: Message.List[];
titleRows?: number;
descRows?: number;
} }
interface Emits { interface Emits {
@ -49,9 +47,7 @@ interface Emits {
} }
withDefaults(defineProps<Props>(), { withDefaults(defineProps<Props>(), {
list: () => [], list: () => []
titleRows: 1,
descRows: 2
}); });
const emit = defineEmits<Emits>(); const emit = defineEmits<Emits>();

View File

@ -1,18 +1,17 @@
<template> <template>
<n-popover trigger="click" class="!p-0" placement="bottom"> <n-popover class="!p-0" trigger="click" placement="bottom">
<template #trigger> <template #trigger>
<hover-container tooltip-content="消息通知" class="w-40px h-full relative" :inverted="theme.header.inverted"> <hover-container class="w-40px h-full relative" tooltip-content="消息通知" :inverted="theme.header.inverted">
<icon-clarity:notification-line class="text-18px" /> <icon-clarity:notification-line class="text-18px" />
<n-badge <n-badge
:value="count" :value="count"
:show="count > 0"
:max="99" :max="99"
:class="[count < 10 ? '-right-2px' : '-right-10px']" :class="[count < 10 ? '-right-2px' : '-right-10px']"
class="absolute top-10px" class="absolute top-10px"
/> />
</hover-container> </hover-container>
</template> </template>
<n-tabs v-model:value="currentTab" type="line" class="w-360px" justify-content="space-evenly"> <n-tabs v-model:value="currentTab" class="w-360px" type="line" justify-content="space-evenly">
<n-tab-pane v-for="(item, index) in tabData" :key="item.key" :name="index"> <n-tab-pane v-for="(item, index) in tabData" :key="item.key" :name="index">
<template #tab> <template #tab>
<div class="flex-x-center items-center w-120px"> <div class="flex-x-center items-center w-120px">
@ -21,7 +20,7 @@
v-bind="item.badgeProps" v-bind="item.badgeProps"
:value="item.list.filter(message => !message.isRead).length" :value="item.list.filter(message => !message.isRead).length"
:max="99" :max="99"
:show="item.list.length !== 0" show-zero
/> />
</div> </div>
</template> </template>