@@ -178,14 +178,19 @@ function resolveByName(
178178 clientComponents : Record < string , ComponentInfo > ,
179179 clientComponentNames : Record < string , string > ,
180180) : any {
181- const componentId = clientComponentNames [ id ]
181+ const hashIndex = id . indexOf ( '#' )
182+ const baseId = hashIndex === - 1 ? id : id . slice ( 0 , hashIndex )
183+ const exportName = hashIndex === - 1 ? undefined : id . slice ( hashIndex + 1 )
184+
185+ const componentId = clientComponentNames [ baseId ]
182186 if ( ! componentId || ! clientComponents [ componentId ] )
183187 return null
184188
185189 const componentInfo = clientComponents [ componentId ] as LazyComponentInfo
190+ const component = getComponentFromInfo ( componentInfo , exportName )
186191
187- if ( componentInfo . component != null )
188- return componentInfo . component
192+ if ( component !== null && component !== undefined )
193+ return component
189194
190195 tryLoadComponent ( componentInfo )
191196 return null
@@ -241,11 +246,11 @@ export async function getClientComponentAsync(id: string): Promise<any> {
241246 }
242247 }
243248
244- const componentId = clientComponentNames [ id ]
249+ const componentId = clientComponentNames [ baseId ]
245250 if ( componentId ) {
246251 componentInfo = clientComponents [ componentId ] as LazyComponentInfo
247252 if ( componentInfo )
248- return await ensureComponentLoaded ( componentInfo )
253+ return await ensureComponentLoaded ( componentInfo , exportName )
249254 }
250255
251256 return null
0 commit comments