fix(ui06): template single-expression for visibility segment (vite build parse)

教训登记:typecheck/vitest 不覆盖模板属性 parse——每批提交前本地 pnpm build 必须通过

Co-Authored-By: Claude Code <noreply@anthropic.com>
This commit is contained in:
浅念
2026-09-22 23:24:00 +08:00
parent 4f6790d630
commit 1531d3d99b
2 changed files with 13 additions and 6 deletions
+6 -2
View File
@@ -11,6 +11,8 @@ export {}
/* prettier-ignore */
declare module 'vue' {
export interface GlobalComponents {
AlbumCoverCard: typeof import('./../../components/business/albums/AlbumCoverCard.vue')['default']
AlbumSummaryHeader: typeof import('./../../components/business/albums/AlbumSummaryHeader.vue')['default']
ArtBackToTop: typeof import('./../../components/core/base/art-back-to-top/index.vue')['default']
ArtBasicBanner: typeof import('./../../components/core/banners/art-basic-banner/index.vue')['default']
ArtBreadcrumb: typeof import('./../../components/core/layouts/art-breadcrumb/index.vue')['default']
@@ -61,10 +63,10 @@ declare module 'vue' {
ElAvatar: typeof import('element-plus/es')['ElAvatar']
ElButton: typeof import('element-plus/es')['ElButton']
ElCard: typeof import('element-plus/es')['ElCard']
ElCollapse: typeof import('element-plus/es')['ElCollapse']
ElCollapseItem: typeof import('element-plus/es')['ElCollapseItem']
ElConfigProvider: typeof import('element-plus/es')['ElConfigProvider']
ElDatePicker: typeof import('element-plus/es')['ElDatePicker']
ElDescriptions: typeof import('element-plus/es')['ElDescriptions']
ElDescriptionsItem: typeof import('element-plus/es')['ElDescriptionsItem']
ElDialog: typeof import('element-plus/es')['ElDialog']
ElDrawer: typeof import('element-plus/es')['ElDrawer']
ElDropdown: typeof import('element-plus/es')['ElDropdown']
@@ -101,6 +103,8 @@ declare module 'vue' {
LoginLeftView: typeof import('./../../components/core/views/login/LoginLeftView.vue')['default']
MenuLayoutSettings: typeof import('./../../components/core/layouts/art-settings-panel/widget/MenuLayoutSettings.vue')['default']
MenuStyleSettings: typeof import('./../../components/core/layouts/art-settings-panel/widget/MenuStyleSettings.vue')['default']
PhotoGrid: typeof import('./../../components/business/albums/PhotoGrid.vue')['default']
PhotoPreviewDialog: typeof import('./../../components/business/albums/PhotoPreviewDialog.vue')['default']
RouterLink: typeof import('vue-router')['RouterLink']
RouterView: typeof import('vue-router')['RouterView']
SectionTitle: typeof import('./../../components/core/layouts/art-settings-panel/widget/SectionTitle.vue')['default']
@@ -17,10 +17,7 @@
class="seg-btn"
:class="{ active: visibilityFilter === opt.value }"
:data-test="`photo-filter-${opt.value || 'all'}`"
@click="
visibilityFilter = opt.value
reload()
"
@click="applyVisibilityFilter(opt.value)"
>
{{ opt.label }}
</button>
@@ -333,6 +330,12 @@
loadFirst()
}
/** 分段筛选(模板属性须单表达式) */
function applyVisibilityFilter(value: Api.Album.PhotoVisibility | '') {
visibilityFilter.value = value
reload()
}
onMounted(() => {
loadFirst()
})