From 6edba5cf676bde94e5ebdb370a4146dc8f6b058e Mon Sep 17 00:00:00 2001 From: Eduardo San Martin Morote Date: Sat, 9 Jan 2021 10:47:30 +0100 Subject: [PATCH] fix(link): use replace prop Close #702 --- __tests__/RouterLink.spec.ts | 11 +++++++++++ src/RouterLink.ts | 1 + 2 files changed, 12 insertions(+) diff --git a/__tests__/RouterLink.spec.ts b/__tests__/RouterLink.spec.ts index 4aa877c9..79bec2be 100644 --- a/__tests__/RouterLink.spec.ts +++ b/__tests__/RouterLink.spec.ts @@ -369,6 +369,7 @@ async function factory( options: {} as Partial, resolve: jest.fn(), push: jest.fn().mockResolvedValue(resolvedLocation), + replace: jest.fn().mockResolvedValue(resolvedLocation), } router.resolve.mockReturnValueOnce(resolvedLocation) @@ -799,6 +800,16 @@ describe('RouterLink', () => { expect(router.push).toHaveBeenCalledTimes(1) }) + it('calls router.replace when clicked with replace prop', async () => { + const { router, wrapper } = await factory( + START_LOCATION_NORMALIZED, + { to: locations.basic.string, replace: true }, + locations.basic.normalized + ) + wrapper.find('a')!.trigger('click') + expect(router.replace).toHaveBeenCalledTimes(1) + }) + it('calls router.push with the correct location for aliases', async () => { const { router, wrapper } = await factory( START_LOCATION_NORMALIZED, diff --git a/src/RouterLink.ts b/src/RouterLink.ts index 8be402f5..f424c3dc 100644 --- a/src/RouterLink.ts +++ b/src/RouterLink.ts @@ -132,6 +132,7 @@ export const RouterLinkImpl = /*#__PURE__*/ defineComponent({ type: [String, Object] as PropType, required: true, }, + replace: Boolean, activeClass: String, // inactiveClass: String, exactActiveClass: String, -- 2.39.5