From eea575c1e2fac1e0d8fa0f81cc8647eb0bece802 Mon Sep 17 00:00:00 2001 From: Ryan Wang Date: Thu, 7 Sep 2023 12:22:14 +0800 Subject: [PATCH] fix: operation items render issue in theme list (#4563) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit #### What type of PR is this? /area console /kind bug #### What this PR does / why we need it: 修复主题管理列表的更多操作项在某些情况下无法打开的问题。 image #### Which issue(s) this PR fixes: Fixes https://github.com/halo-dev/halo/issues/4559 #### Special notes for your reviewer: 测试方式: 1. 安装若干主题,测试每一项主题的更多操作按钮是否可以正常打开。 2. 删除某一个主题,测试每一项主题的更多操作按钮是否可以正常打开。 #### Does this PR introduce a user-facing change? ```release-note 修复 Console 端主题管理列表的更多操作项在某些情况下无法打开的问题。 ``` --- .../themes/components/ThemeListItem.vue | 23 ++++++------------- .../components/list-tabs/InstalledThemes.vue | 2 +- .../operation/MoreOperationItem.vue | 7 ++++++ 3 files changed, 15 insertions(+), 17 deletions(-) create mode 100644 console/src/modules/interface/themes/components/operation/MoreOperationItem.vue diff --git a/console/src/modules/interface/themes/components/ThemeListItem.vue b/console/src/modules/interface/themes/components/ThemeListItem.vue index 7cfbc14f3..959f1916e 100644 --- a/console/src/modules/interface/themes/components/ThemeListItem.vue +++ b/console/src/modules/interface/themes/components/ThemeListItem.vue @@ -8,7 +8,6 @@ import { VDropdownDivider, VButton, VSpace, - IconMore, } from "@halo-dev/components"; import type { Theme } from "@halo-dev/api-client"; import { apiClient } from "@/utils/api-client"; @@ -19,10 +18,10 @@ import { useI18n } from "vue-i18n"; import { useQueryClient } from "@tanstack/vue-query"; import { useOperationItemExtensionPoint } from "@/composables/use-operation-extension-points"; import { markRaw } from "vue"; -import { defineComponent } from "vue"; import UninstallOperationItem from "./operation/UninstallOperationItem.vue"; import { computed } from "vue"; import type { OperationItem } from "@halo-dev/console-shared"; +import MoreOperationItem from "./operation/MoreOperationItem.vue"; const { currentUserHasPermission } = usePermission(); const { t } = useI18n(); @@ -112,15 +111,7 @@ const { operationItems } = useOperationItemExtensionPoint( }, { priority: 30, - component: markRaw( - defineComponent({ - components: { - VButton, - IconMore, - }, - template: ``, - }) - ), + component: markRaw(MoreOperationItem), permissions: ["system:themes:manage"], children: [ { @@ -238,13 +229,14 @@ const { operationItems } = useOperationItemExtensionPoint(
-