diff --git a/CHANGELOG.en_US.md b/CHANGELOG.en_US.md index f5c8162..a17f953 100644 --- a/CHANGELOG.en_US.md +++ b/CHANGELOG.en_US.md @@ -1,3 +1,32 @@ +## 2.0.0-rc.11 (2020-11-18) + +### ✨ Features + +- Added base64 file stream download +- Optimize upload components and examples +- New editable row example +- Add a personal page +- New form page +- Add details page +- Integrate upload components into form by default + +### 🎫 Chores + +- Update antdv to `2.0.0-rc.1` (temporarily restore to beta15, rc1 menu freezes too seriously.) +- Add some notes + +### ✨ Refactor + +- Removed `receiveDrawerDataRef` and `transferDrawerData` properties of `useModal` and `useDrawer` +- `openModal` and `openDrawer` corresponding to `useModal` and `useDrawer` extend the third parameter. Used to open the trigger callback again + +### 🐛 Bug Fixes + +- Repair form inputNumber verification error +- Fix the error of setting the default value of the form +- Fix the problem of occupying position when the menu collapse button is hidden +- Fix the form baseColProps does not take effect + ## 2.0.0-rc.10 (2020-11-13) ### ✨ Refactor diff --git a/CHANGELOG.zh_CN.md b/CHANGELOG.zh_CN.md index 71ece68..f89d9fc 100644 --- a/CHANGELOG.zh_CN.md +++ b/CHANGELOG.zh_CN.md @@ -1,4 +1,4 @@ -## Wip +## 2.0.0-rc.11 (2020-11-18) ### ✨ Features @@ -15,6 +15,11 @@ - 更新 antdv 到`2.0.0-rc.1`(暂时还原到 beta15,rc1 菜单卡顿太严重.) - 添加部分注释 +### ✨ Refactor + +- 移除`useModal`与`useDrawer`的`receiveDrawerDataRef`和`transferDrawerData`属性 +- `useModal`与`useDrawer`对应的`openModal`与`openDrawer`扩展第三个参数。用于再次打开触发回调 + ### 🐛 Bug Fixes - 修复表单 inputNumber 校验错误 diff --git a/package.json b/package.json index 481c2ab..42bb4b5 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "vben-admin-2.0", - "version": "2.0.0-rc.10", + "version": "2.0.0-rc.11", "scripts": { "bootstrap": "yarn install", "serve": "esno ./build/script/preserve.ts && cross-env NODE_ENV=development vite", diff --git a/src/components/Drawer/src/types.ts b/src/components/Drawer/src/types.ts index e696359..71d22ab 100644 --- a/src/components/Drawer/src/types.ts +++ b/src/components/Drawer/src/types.ts @@ -7,8 +7,7 @@ export interface DrawerInstance { } export interface ReturnMethods extends DrawerInstance { - openDrawer: <T = any>(visible?: boolean, data?: T) => void; - transferDrawerData: (data: any) => void; + openDrawer: <T = any>(visible?: boolean, data?: T, openOnSet?: boolean) => void; } export type RegisterFn = (drawerInstance: DrawerInstance, uuid?: string) => void; @@ -17,7 +16,6 @@ export interface ReturnInnerMethods extends DrawerInstance { closeDrawer: () => void; changeLoading: (loading: boolean) => void; changeOkLoading: (loading: boolean) => void; - receiveDrawerDataRef: any; } export type UseDrawerReturnType = [RegisterFn, ReturnMethods]; diff --git a/src/components/Drawer/src/useDrawer.ts b/src/components/Drawer/src/useDrawer.ts index 1d520b3..b081356 100644 --- a/src/components/Drawer/src/useDrawer.ts +++ b/src/components/Drawer/src/useDrawer.ts @@ -6,16 +6,7 @@ import type { UseDrawerInnerReturnType, } from './types'; -import { - ref, - getCurrentInstance, - onUnmounted, - unref, - reactive, - computed, - watchEffect, - nextTick, -} from 'vue'; +import { ref, getCurrentInstance, onUnmounted, unref, reactive, watchEffect, nextTick } from 'vue'; import { isProdMode } from '/@/utils/env'; import { isFunction } from '/@/utils/is'; @@ -60,18 +51,19 @@ export function useDrawer(): UseDrawerReturnType { getInstance().setDrawerProps(props); }, - openDrawer: <T = any>(visible = true, data?: T): void => { + openDrawer: <T = any>(visible = true, data?: T, openOnSet = false): void => { getInstance().setDrawerProps({ visible: visible, }); if (data) { - dataTransferRef[unref(uidRef)] = data; + dataTransferRef[unref(uidRef)] = openOnSet + ? { + ...data, + __t__: Date.now(), + } + : data; } }, - - transferDrawerData(val: any) { - dataTransferRef[unref(uidRef)] = val; - }, }; return [getDrawer, methods]; @@ -111,10 +103,6 @@ export const useDrawerInner = (callbackFn?: Fn): UseDrawerInnerReturnType => { return [ register, { - receiveDrawerDataRef: computed(() => { - return dataTransferRef[unref(uidRef)]; - }), - changeLoading: (loading = true) => { getInstance().setDrawerProps({ loading }); }, diff --git a/src/components/Modal/src/types.ts b/src/components/Modal/src/types.ts index 3f6c295..ad3ec53 100644 --- a/src/components/Modal/src/types.ts +++ b/src/components/Modal/src/types.ts @@ -9,8 +9,7 @@ export interface ModalMethods { export type RegisterFn = (modalMethods: ModalMethods, uuid?: string) => void; export interface ReturnMethods extends ModalMethods { - openModal: <T = any>(props?: boolean, data?: T) => void; - transferModalData: (data: any) => void; + openModal: <T = any>(props?: boolean, data?: T, openOnSet?: boolean) => void; } export type UseModalReturnType = [RegisterFn, ReturnMethods]; @@ -18,7 +17,6 @@ export interface ReturnInnerMethods extends ModalMethods { closeModal: () => void; changeLoading: (loading: boolean) => void; changeOkLoading: (loading: boolean) => void; - receiveModalDataRef: any; } export type UseModalInnerReturnType = [RegisterFn, ReturnInnerMethods]; diff --git a/src/components/Modal/src/useModal.ts b/src/components/Modal/src/useModal.ts index 32f1071..6ad2946 100644 --- a/src/components/Modal/src/useModal.ts +++ b/src/components/Modal/src/useModal.ts @@ -5,16 +5,7 @@ import type { ReturnMethods, UseModalInnerReturnType, } from './types'; -import { - ref, - onUnmounted, - unref, - getCurrentInstance, - reactive, - computed, - watchEffect, - nextTick, -} from 'vue'; +import { ref, onUnmounted, unref, getCurrentInstance, reactive, watchEffect, nextTick } from 'vue'; import { isProdMode } from '/@/utils/env'; import { isFunction } from '/@/utils/is'; const dataTransferRef = reactive<any>({}); @@ -55,18 +46,19 @@ export function useModal(): UseModalReturnType { getInstance().setModalProps(props); }, - openModal: <T = any>(visible = true, data?: T): void => { + openModal: <T = any>(visible = true, data?: T, openOnSet = false): void => { getInstance().setModalProps({ visible: visible, }); if (data) { - dataTransferRef[unref(uidRef)] = data; + dataTransferRef[unref(uidRef)] = openOnSet + ? { + ...data, + __t__: Date.now(), + } + : data; } }, - - transferModalData(val: any) { - dataTransferRef[unref(uidRef)] = val; - }, }; return [register, methods]; } @@ -106,10 +98,6 @@ export const useModalInner = (callbackFn?: Fn): UseModalInnerReturnType => { return [ register, { - receiveModalDataRef: computed(() => { - return dataTransferRef[unref(uidRef)]; - }), - changeLoading: (loading = true) => { getInstance().setModalProps({ loading }); }, diff --git a/src/views/demo/comp/drawer/Drawer4.vue b/src/views/demo/comp/drawer/Drawer4.vue index 3d56757..454156e 100644 --- a/src/views/demo/comp/drawer/Drawer4.vue +++ b/src/views/demo/comp/drawer/Drawer4.vue @@ -1,7 +1,6 @@ <template> <BasicDrawer v-bind="$attrs" @register="register" title="Drawer Title" width="50%"> <div> - <p class="h-20">外部传递数据: {{ receiveDrawerDataRef }}</p> <BasicForm @register="registerForm" /> </div> </BasicDrawer> @@ -41,14 +40,14 @@ span: 24, }, }); - const [register, { receiveDrawerDataRef }] = useDrawerInner((data) => { + const [register] = useDrawerInner((data) => { // 方式1 setFieldsValue({ field2: data.data, field1: data.info, }); }); - return { register, receiveDrawerDataRef, schemas, registerForm }; + return { register, schemas, registerForm }; }, }); </script> diff --git a/src/views/demo/comp/modal/Modal4.vue b/src/views/demo/comp/modal/Modal4.vue index 180854b..cda994b 100644 --- a/src/views/demo/comp/modal/Modal4.vue +++ b/src/views/demo/comp/modal/Modal4.vue @@ -1,6 +1,5 @@ <template> <BasicModal v-bind="$attrs" @register="register" title="Modal Title"> - <p class="h-20">外部传递数据: {{ receiveModalDataRef }}</p> <BasicForm @register="registerForm" :model="model" /> </BasicModal> </template> @@ -46,7 +45,7 @@ }, }); - const [register, { receiveModalDataRef }] = useModalInner((data) => { + const [register] = useModalInner((data) => { // 方式1 // setFieldsValue({ // field2: data.data, @@ -60,7 +59,7 @@ // model:{ field2: data.data, field1: data.info } // }) }); - return { register, receiveModalDataRef, schemas, registerForm, model: modelRef }; + return { register, schemas, registerForm, model: modelRef }; }, }); </script> diff --git a/src/views/demo/comp/modal/index.vue b/src/views/demo/comp/modal/index.vue index c57cda9..d3ba2fe 100644 --- a/src/views/demo/comp/modal/index.vue +++ b/src/views/demo/comp/modal/index.vue @@ -40,24 +40,8 @@ const [register1, { openModal: openModal1, setModalProps }] = useModal(); const [register2, { openModal: openModal2 }] = useModal(); const [register3, { openModal: openModal3 }] = useModal(); - const [ - register4, - { - openModal: openModal4, - // transferModalData - }, - ] = useModal(); + const [register4, { openModal: openModal4 }] = useModal(); function send() { - // transferModalData({ - // data: 'content', - // info: 'Info', - // }); - // setTimeout(() => { - // transferModalData({ - // data: 'content1', - // info: 'Info1', - // }); - // }, 3000); openModal4(true, { data: 'content', info: 'Info',