fix(config-provider): inherit null prop

This commit is contained in:
07akioni 2020-12-24 12:36:53 +08:00
parent b33a4394e9
commit 6e0e1a2df0
2 changed files with 25 additions and 11 deletions

View File

@ -111,7 +111,7 @@
"vfonts": "^0.0.1",
"vooks": "^0.0.6",
"vue": "^3.0.4",
"vueuc": "0.0.2"
"vueuc": "0.0.3"
},
"sideEffects": false,
"husky": {

View File

@ -84,16 +84,24 @@ export default {
const NConfigProvider = inject('NConfigProvider', null)
return {
mergedBordered: useMemo(() => {
return props.bordered ?? NConfigProvider?.mergedBordered
const { bordered } = props
return bordered === undefined
? NConfigProvider?.mergedBordered
: bordered
}),
mergedTheme: useMemo(() => {
return props.theme ?? NConfigProvider?.mergedTheme
const { theme } = props
return theme === undefined ? NConfigProvider?.mergedTheme : theme
}),
mergedNamespace: useMemo(() => {
return props.namespace ?? NConfigProvider?.mergedNamespace
const { namespace } = props
return namespace === undefined
? NConfigProvider?.mergedNamespace
: namespace
}),
mergedLocale: computed(() => {
return props.locale ?? NConfigProvider?.mergedLocale
const { locale } = props
return locale === undefined ? NConfigProvider?.mergedLocale : locale
}),
mergedStyles: computed(() => {
// TODO, merged styles together
@ -101,14 +109,20 @@ export default {
}),
// deprecated
mergedLanguage: useMemo(() => {
return props.language ?? props.lang ?? NConfigProvider?.mergedLanguage
const { language, lang } = props
return language === undefined
? lang === undefined
? NConfigProvider?.mergedLanguage
: lang
: language
}),
mergedThemeEnvironments: computed(() => {
return (
props.themeEnvironments ??
props.themeEnvironment ??
NConfigProvider?.mergedThemeEnvironments
)
const { themeEnvironments, themeEnvironment } = props
return themeEnvironments === undefined
? themeEnvironment === undefined
? NConfigProvider?.mergedThemeEnvironments
: themeEnvironment
: themeEnvironments
})
}
},