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:
+6
-2
@@ -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()
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user