fix(config-provider): doesn't merge inherited theme

This commit is contained in:
07akioni 2021-06-05 20:54:29 +08:00
parent f171cefd3c
commit 292228dc40
3 changed files with 10 additions and 5 deletions

View File

@ -6,6 +6,7 @@
- Fix `n-dropdown` default placement is not `bottom`. - Fix `n-dropdown` default placement is not `bottom`.
- Fix `n-date-picker`'s input theme is not set in `date` & `datetime` type. - Fix `n-date-picker`'s input theme is not set in `date` & `datetime` type.
- Fix `n-config-provider` doesn't merge inherited theme.
## 2.11.1 ## 2.11.1

View File

@ -6,6 +6,7 @@
- 修复 `n-dropdown` 默认位置不是 `bottom` - 修复 `n-dropdown` 默认位置不是 `bottom`
- 修复 `n-date-picker` 输入组件在 `date` & `datetime` 类型下未设定主题 - 修复 `n-date-picker` 输入组件在 `date` & `datetime` 类型下未设定主题
- 修复 `n-config-provider` 没有合并继承的主题
## 2.11.1 ## 2.11.1

View File

@ -21,9 +21,8 @@ import type {
import type { ConfigProviderInjection } from './internal-interface' import type { ConfigProviderInjection } from './internal-interface'
import { NDateLocale, NLocale } from '../../locales' import { NDateLocale, NLocale } from '../../locales'
export const configProviderInjectionKey: InjectionKey<ConfigProviderInjection> = Symbol( export const configProviderInjectionKey: InjectionKey<ConfigProviderInjection> =
'configProviderInjection' Symbol('configProviderInjection')
)
export const configProviderProps = { export const configProviderProps = {
abstract: { abstract: {
@ -110,7 +109,12 @@ export default defineComponent({
const mergedThemeRef = computed(() => { const mergedThemeRef = computed(() => {
const { theme } = props const { theme } = props
if (theme === null) return undefined if (theme === null) return undefined
return theme === undefined ? NConfigProvider?.mergedThemeRef.value : theme const inheritedTheme = NConfigProvider?.mergedThemeRef.value
return theme === undefined
? inheritedTheme
: inheritedTheme === undefined
? theme
: Object.assign({}, inheritedTheme, theme)
}) })
const mergedThemeOverridesRef = computed(() => { const mergedThemeOverridesRef = computed(() => {
const { themeOverrides } = props const { themeOverrides } = props
@ -180,7 +184,6 @@ export default defineComponent({
const { hljs } = props const { hljs } = props
return hljs === undefined ? NConfigProvider?.mergedHljsRef.value : hljs return hljs === undefined ? NConfigProvider?.mergedHljsRef.value : hljs
}), }),
// wip, unstable
mergedThemeRef, mergedThemeRef,
mergedThemeOverridesRef, mergedThemeOverridesRef,
// deprecated // deprecated