From: ZHAO Jinxiang Date: Fri, 2 Sep 2022 12:39:51 +0000 (-0700) Subject: feat(types): improve link and view slots (#1544) X-Git-Tag: v4.1.6~13 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=4a0cc8b9c1e642cdf47cc007fa5bbebde70afc66;p=thirdparty%2Fvuejs%2Frouter.git feat(types): improve link and view slots (#1544) Co-authored-by: Eduardo San Martin Morote --- diff --git a/packages/router/src/RouterLink.ts b/packages/router/src/RouterLink.ts index 3bc133da..1d18845d 100644 --- a/packages/router/src/RouterLink.ts +++ b/packages/router/src/RouterLink.ts @@ -174,6 +174,9 @@ export function useLink(props: UseLinkOptions) { } } + /** + * NOTE: update {@link _RouterLinkI}'s `$slots` type when updating this + */ return { route, href: computed(() => route.value.href), @@ -269,7 +272,13 @@ export interface _RouterLinkI { RouterLinkProps $slots: { - default: (arg: UnwrapRef>) => VNode[] + default?: ({ + route, + href, + isActive, + isExactActive, + navigate, + }: UnwrapRef>) => VNode[] } } diff --git a/packages/router/src/RouterView.ts b/packages/router/src/RouterView.ts index ad136f60..4ad60d03 100644 --- a/packages/router/src/RouterView.ts +++ b/packages/router/src/RouterView.ts @@ -224,7 +224,10 @@ export const RouterView = RouterViewImpl as unknown as { RouterViewProps $slots: { - default: (arg: { + default?: ({ + Component, + route, + }: { Component: VNode route: RouteLocationNormalizedLoaded }) => VNode[]