Skip to content

Commit 84dd970

Browse files
authored
Merge pull request #21 from risen228/fix/allow-link-modified-events
[Fix] Skip navigation for modified keys events and some "target" values
2 parents e67ce85 + 101bae0 commit 84dd970

File tree

1 file changed

+12
-0
lines changed

1 file changed

+12
-0
lines changed

src/link.tsx

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ const RouteLinkView = <Params extends RouteParams>(
4747
inactiveClassName,
4848
onClick,
4949
children,
50+
target,
5051
...linkProps
5152
} = props;
5253

@@ -72,6 +73,7 @@ const RouteLinkView = <Params extends RouteParams>(
7273
href={href}
7374
{...linkProps}
7475
className={clsx(className, isOpened ? activeClassName : inactiveClassName)}
76+
target={target}
7577
onClick={(evt) => {
7678
if (onClick) {
7779
onClick(evt);
@@ -82,6 +84,16 @@ const RouteLinkView = <Params extends RouteParams>(
8284
return
8385
}
8486

87+
// let browser handle "_blank" target and etc
88+
if (target && target !== '_self') {
89+
return
90+
}
91+
92+
// skip modified events (like cmd + click to open the link in new tab)
93+
if (evt.metaKey || evt.altKey || evt.ctrlKey || evt.shiftKey) {
94+
return
95+
}
96+
8597
evt.preventDefault();
8698
navigate({
8799
params: params || ({} as Params),

0 commit comments

Comments
 (0)