Explorar o código

fix(iframe): iframe loads early when closing multi-tabs

vben %!s(int64=4) %!d(string=hai) anos
pai
achega
73cee06daa

+ 1 - 0
CHANGELOG.zh_CN.md

@@ -20,6 +20,7 @@
 - 修复多语言配置 `Locale.show`导致配置不生效
 - 修复路由类型错误
 - 修复菜单分割时权限失效问题
+- 关闭多标签页时 iframe 提前加载
 
 ## 2.0.0-rc.14 (2020-12-15)
 

+ 1 - 1
src/components/Application/src/search/useMenuSearch.ts

@@ -146,7 +146,7 @@ export function useMenuSearch(refs: Ref<HTMLElement[]>, scrollWrap: Ref<ElRef>,
     emit('close');
   }
 
-  useKeyPress(['enter', 'up', 'down'], (events) => {
+  useKeyPress(['enter', 'up', 'down', 'esc'], (events) => {
     const keyCode = events.keyCode;
     switch (keyCode) {
       case KeyCodeEnum.UP:

+ 2 - 1
src/layouts/iframe/useFrameKeepAlive.ts

@@ -50,9 +50,10 @@ export function useFrameKeepAlive() {
 
   function hasRenderFrame(name: string) {
     if (!unref(getShowMultipleTab)) {
-      return true;
+      return router.currentRoute.value.name === name;
     }
     return unref(getOpenTabList).includes(name);
   }
+
   return { hasRenderFrame, getFramePages, showIframe, getAllFramePages };
 }