From 5832ee6697e23afefc25ba2aa4df9476b5034bf4 Mon Sep 17 00:00:00 2001 From: vben Date: Tue, 10 Nov 2020 22:30:52 +0800 Subject: [PATCH] feat(form): support function type of form item --- CHANGELOG.zh_CN.md | 4 +++ src/components/Drawer/src/useDrawer.ts | 15 ++++++++-- src/components/Form/src/BasicForm.vue | 1 + src/components/Form/src/FormItem.tsx | 30 ++++++++++++------- src/components/Form/src/props.ts | 4 +++ src/components/Form/src/types/form.ts | 5 +++- src/components/Modal/src/useModal.ts | 15 ++++++++-- src/components/Table/src/BasicTable.vue | 2 ++ .../src/components/renderEditableCell.tsx | 5 +++- src/views/demo/comp/drawer/Drawer4.vue | 12 ++++---- src/views/demo/comp/modal/Modal4.vue | 24 +++++++-------- src/views/demo/form/index.vue | 12 ++++---- 12 files changed, 87 insertions(+), 42 deletions(-) diff --git a/CHANGELOG.zh_CN.md b/CHANGELOG.zh_CN.md index ed0a3340..c3f74476 100644 --- a/CHANGELOG.zh_CN.md +++ b/CHANGELOG.zh_CN.md @@ -1,5 +1,9 @@ ## Wip +### ✨ Features + +- 表单项的`componentsProps`支持函数类型 + ### 🐛 Bug Fixes - 修复多个富文本编辑器只显示一个 diff --git a/src/components/Drawer/src/useDrawer.ts b/src/components/Drawer/src/useDrawer.ts index af52968d..02d4c167 100644 --- a/src/components/Drawer/src/useDrawer.ts +++ b/src/components/Drawer/src/useDrawer.ts @@ -6,7 +6,16 @@ import type { UseDrawerInnerReturnType, } from './types'; -import { ref, getCurrentInstance, onUnmounted, unref, reactive, computed, watchEffect } from 'vue'; +import { + ref, + getCurrentInstance, + onUnmounted, + unref, + reactive, + computed, + watchEffect, + nextTick, +} from 'vue'; import { isProdMode } from '/@/utils/env'; import { isFunction } from '/@/utils/is'; @@ -94,7 +103,9 @@ export const useDrawerInner = (callbackFn?: Fn): UseDrawerInnerReturnType => { const data = dataTransferRef[unref(uidRef)]; if (!data) return; if (!callbackFn || !isFunction(callbackFn)) return; - callbackFn(data); + nextTick(() => { + callbackFn(data); + }); }); return [ diff --git a/src/components/Form/src/BasicForm.vue b/src/components/Form/src/BasicForm.vue index 9440ab56..d48b3410 100644 --- a/src/components/Form/src/BasicForm.vue +++ b/src/components/Form/src/BasicForm.vue @@ -4,6 +4,7 @@