refactor: update v-model bindings and emit event names for favorites and breadcrumb visibility

This commit is contained in:
skytek_xinliang
2026-03-27 15:35:36 +08:00
parent 2f1801bc2b
commit 24661a17b3
3 changed files with 15 additions and 18 deletions
+5 -8
View File
@@ -119,20 +119,17 @@
:is-mobile="isMobile"
:logout-label="logoutLabel"
:search-config="searchConfig"
:search-value="searchValue"
:breadcrumb-bar-visible="breadcrumbBarVisible"
:show-favorites-bar="showFavoritesBar"
:theme-toggle-label="themeToggleLabel"
:toolbar-actions="toolbarActions"
:toolbar-counts="toolbarCounts"
v-model:search-value="searchValue"
v-model:breadcrumb-bar-visible="breadcrumbBarVisible"
v-model:show-favorites-bar="showFavoritesBar"
@action="handleAction"
@logout="emitLogout"
@search="triggerSearch"
@toggle-drawer="drawer = !drawer"
@toggle-theme="toggleTheme"
@update:search-value="searchValue = $event"
@update:breadcrumb-bar-visible="breadcrumbBarVisible = $event"
@update:show-favorites-bar="showFavoritesBar = $event"
>
<template v-if="$slots.actions" #actions>
<slot name="actions"></slot>
@@ -395,11 +392,11 @@ const {
toggleSidebar,
} = useAdminLayoutState({
appBarRef,
breadcrumbBarVisible: props.breadcrumbBarVisible,
breadcrumbBarVisible: toRef(props, 'breadcrumbBarVisible'),
emitUpdateBreadcrumbBarVisible: (value) => emit('update:breadcrumbBarVisible', value),
emitUpdateFavoritesBarVisible: (value) => emit('update:favoritesBarVisible', value),
emitUpdateIsRail: (value) => emit('update:isRail', value),
favoritesBarVisible: props.favoritesBarVisible,
favoritesBarVisible: toRef(props, 'favoritesBarVisible'),
isMobile,
isRail: toRef(props, 'isRail'), // 傳 Ref 確保 composable getter 能隨 prop 更新
menuItems: props.menuItems,
@@ -175,8 +175,8 @@ const emit = defineEmits<{
action: [type: AdminLayoutActionType]
logout: []
'toggle-theme': []
'update:showFavoritesBar': [value: boolean]
'update:breadcrumbBarVisible': [value: boolean]
'update:show-favorites-bar': [value: boolean]
'update:breadcrumb-bar-visible': [value: boolean]
}>()
const searchValueModel = computed({
@@ -186,12 +186,12 @@ const searchValueModel = computed({
const showFavoritesBarModel = computed({
get: () => props.showFavoritesBar,
set: (value) => emit('update:showFavoritesBar', value),
set: (value) => emit('update:show-favorites-bar', value),
})
const breadcrumbBarVisibleModel = computed({
get: () => props.breadcrumbBarVisible,
set: (value) => emit('update:breadcrumbBarVisible', value),
set: (value) => emit('update:breadcrumb-bar-visible', value),
})
function triggerSearch () {