From 586bd94b96b76e57fe1267e9dd8ce37d8d1e786a Mon Sep 17 00:00:00 2001 From: easonruan Date: Sat, 2 Jul 2022 11:54:45 +0800 Subject: [PATCH] =?UTF-8?q?fix(ConfigProvider):=20=E4=BF=AE=E5=A4=8D=20con?= =?UTF-8?q?fig-provider=20=E5=90=8C=E6=97=B6=E5=AD=98=E5=9C=A8=20provide?= =?UTF-8?q?=20=E5=92=8C=20setup#provide=20=E5=AF=BC=E8=87=B4=E5=8D=A1?= =?UTF-8?q?=E9=A1=BF=E7=9A=84=E6=80=A7=E8=83=BD=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/config-provider/config-provider.tsx | 10 +--------- src/config-provider/context.ts | 2 -- src/config-provider/useConfig.tsx | 4 ++-- 3 files changed, 3 insertions(+), 13 deletions(-) diff --git a/src/config-provider/config-provider.tsx b/src/config-provider/config-provider.tsx index a2992ab7d0..d7ad6309f8 100644 --- a/src/config-provider/config-provider.tsx +++ b/src/config-provider/config-provider.tsx @@ -2,7 +2,7 @@ import Vue, { PropType, VNode } from 'vue'; import cloneDeep from 'lodash/cloneDeep'; import { provide, computed } from '@vue/composition-api'; import { GlobalConfigProvider } from './type'; -import { configProviderInjectKey, defaultGlobalConfig, mergeWith } from './context'; +import { defaultGlobalConfig, mergeWith } from './context'; const ConfigProvider = Vue.extend({ name: 'TConfigProvider', @@ -29,14 +29,6 @@ const ConfigProvider = Vue.extend({ }, }, - setup(props) { - const defaultData = cloneDeep(defaultGlobalConfig); - provide( - configProviderInjectKey, - computed(() => mergeWith(defaultData, props.globalConfig)), - ); - }, - render(): VNode { if (this.$slots.default.length === 1) { return this.$slots.default[0]; diff --git a/src/config-provider/context.ts b/src/config-provider/context.ts index 863bc59ad6..ce1c724968 100644 --- a/src/config-provider/context.ts +++ b/src/config-provider/context.ts @@ -18,8 +18,6 @@ export type Locale = typeof defaultZhCN; // 导出全局配置(包括语言配置)全部类型 export * from './type'; -export const configProviderInjectKey: InjectionKey> = Symbol('configProvide'); - // deal with https://github.com/lodash/lodash/issues/1313 export const mergeWith = (defaultGlobalConfig: GlobalConfigProvider, injectConfig: GlobalConfigProvider) => _mergeWith(defaultGlobalConfig, injectConfig, (objValue, srcValue) => { if (Array.isArray(objValue)) { diff --git a/src/config-provider/useConfig.tsx b/src/config-provider/useConfig.tsx index 1484642900..fe8b3e611b 100644 --- a/src/config-provider/useConfig.tsx +++ b/src/config-provider/useConfig.tsx @@ -1,5 +1,5 @@ import { computed, inject, h } from '@vue/composition-api'; -import { GlobalConfigProvider, defaultGlobalConfig, configProviderInjectKey } from './context'; +import { GlobalConfigProvider, defaultGlobalConfig } from './context'; /** * component global config @@ -8,7 +8,7 @@ import { GlobalConfigProvider, defaultGlobalConfig, configProviderInjectKey } fr * useConfig('pagination') */ export function useConfig(componentName?: T) { - const injectGlobalConfig = inject(configProviderInjectKey, null); + const injectGlobalConfig = inject('globalConfig', null); const mergedGlobalConfig = computed(() => injectGlobalConfig?.value || defaultGlobalConfig); const global = computed(() => mergedGlobalConfig.value[componentName]);