Prechádzať zdrojové kódy

fix: fix modal and drawer component missing uid

vben 4 rokov pred
rodič
commit
1293a7389e

+ 1 - 0
CHANGELOG.zh_CN.md

@@ -22,6 +22,7 @@
 - 修复 axios 大小写问题
 - 修复按钮样式问题
 - 修复菜单分割模式问题
+- 修复 `Modal`与`Drawer`组件在使用 emits 数据传递失效问题
 
 ## 2.0.0-rc.13 (2020-12-10)
 

+ 3 - 1
src/components/Application/index.ts

@@ -1,5 +1,6 @@
 import { withInstall } from '../util';
 import { createAsyncComponent } from '/@/utils/factory/createAsyncComponent';
+import AppLogo from './src/AppLogo.vue';
 
 export const AppLocalePicker = createAsyncComponent(() => import('./src/AppLocalePicker.vue'), {
   loading: true,
@@ -8,8 +9,9 @@ export const AppProvider = createAsyncComponent(() => import('./src/AppProvider.
 export const AppSearch = createAsyncComponent(() => import('./src/search/AppSearch.vue'), {
   loading: true,
 });
-export const AppLogo = createAsyncComponent(() => import('./src/AppLogo.vue'));
+// export const AppLogo = createAsyncComponent(() => import('./src/AppLogo.vue'));
 
 withInstall(AppLocalePicker, AppLogo, AppProvider, AppSearch);
 
 export { useAppProviderContext } from './src/useAppContext';
+export { AppLogo };

+ 1 - 1
src/components/Drawer/src/useDrawer.ts

@@ -102,7 +102,7 @@ export const useDrawerInner = (callbackFn?: Fn): UseDrawerInnerReturnType => {
 
     uidRef.value = uuid;
     drawerInstanceRef.value = modalInstance;
-    currentInstall.emit('register', modalInstance);
+    currentInstall.emit('register', modalInstance, uuid);
   };
 
   watchEffect(() => {

+ 4 - 2
src/components/Modal/src/useModal.ts

@@ -90,6 +90,9 @@ export const useModalInner = (callbackFn?: Fn): UseModalInnerReturnType => {
     throw new Error('instance is undefined!');
   }
 
+  // currentInstall.type.emits = [...currentInstall.type.emits, 'register'];
+  // Object.assign(currentInstall.type.emits, ['register']);
+
   const getInstance = () => {
     const instance = unref(modalInstanceRef);
     if (!instance) {
@@ -103,10 +106,9 @@ export const useModalInner = (callbackFn?: Fn): UseModalInnerReturnType => {
       tryOnUnmounted(() => {
         modalInstanceRef.value = null;
       });
-
     uidRef.value = uuid;
     modalInstanceRef.value = modalInstance;
-    currentInstall.emit('register', modalInstance);
+    currentInstall.emit('register', modalInstance, uuid);
   };
 
   watchEffect(() => {

+ 3 - 2
src/layouts/default/header/LayoutMultipleHeader.less

@@ -1,9 +1,10 @@
 .multiple-tab-header {
-  flex: 0 0 auto;
+  margin-left: 1px;
   transition: width 0.2s;
+  flex: 0 0 auto;
 
   &.dark {
-    margin-left: -1px;
+    margin-left: 0;
   }
 
   &.fixed {

+ 1 - 1
src/layouts/default/index.less

@@ -12,6 +12,6 @@
   }
 
   &__main {
-    margin-left: 2px;
+    margin-left: 1px;
   }
 }

+ 1 - 1
src/layouts/default/sider/index.less

@@ -25,7 +25,7 @@
   }
 
   &:not(.ant-layout-sider-dark) {
-    box-shadow: 2px 0 8px 0 rgba(29, 35, 41, 0.05);
+    // box-shadow: 2px 0 8px 0 rgba(29, 35, 41, 0.05);
 
     .ant-layout-sider-trigger {
       color: @text-color-base;