diff --git a/src/badge/demos/enUS/color.demo.vue b/src/badge/demos/enUS/color.demo.vue index a5cf0fd454d..d349ed8f537 100644 --- a/src/badge/demos/enUS/color.demo.vue +++ b/src/badge/demos/enUS/color.demo.vue @@ -3,7 +3,7 @@ diff --git a/src/badge/demos/zhCN/color.demo.vue b/src/badge/demos/zhCN/color.demo.vue index 88750f9edbc..340570d6874 100644 --- a/src/badge/demos/zhCN/color.demo.vue +++ b/src/badge/demos/zhCN/color.demo.vue @@ -3,7 +3,7 @@ diff --git a/src/badge/src/Badge.tsx b/src/badge/src/Badge.tsx index e2c7ce27e8a..16e3b74d42b 100644 --- a/src/badge/src/Badge.tsx +++ b/src/badge/src/Badge.tsx @@ -34,6 +34,7 @@ export const badgeProps = { showZero: Boolean, processing: Boolean, color: String, + textColor: String, offset: Array as unknown as PropType< readonly [number | string, number | string] > @@ -78,10 +79,15 @@ export default defineComponent({ const rtlEnabledRef = useRtl('Badge', mergedRtlRef, mergedClsPrefixRef) const cssVarsRef = computed(() => { - const { type, color: propColor } = props + const { type, color: propColor, textColor: propsTextColor } = props const { common: { cubicBezierEaseInOut, cubicBezierEaseOut }, - self: { [createKey('color', type)]: color, fontFamily, fontSize } + self: { + [createKey('color', type)]: color, + fontFamily, + fontSize, + textColor + } } = themeRef.value return { '--n-font-size': fontSize, @@ -89,7 +95,8 @@ export default defineComponent({ '--n-color': propColor || color, '--n-ripple-color': propColor || color, '--n-bezier': cubicBezierEaseInOut, - '--n-ripple-bezier': cubicBezierEaseOut + '--n-ripple-bezier': cubicBezierEaseOut, + '--n-text-color': propsTextColor || textColor } }) diff --git a/src/badge/src/styles/index.cssr.ts b/src/badge/src/styles/index.cssr.ts index fe074cdee5f..ebe90e6aec9 100644 --- a/src/badge/src/styles/index.cssr.ts +++ b/src/badge/src/styles/index.cssr.ts @@ -54,7 +54,7 @@ export default c([ transition: background-color .3s var(--n-bezier), color .3s var(--n-bezier); - color: #FFF; + color: var(--n-text-color); position: absolute; height: 18px; line-height: 18px; diff --git a/src/badge/styles/dark.ts b/src/badge/styles/dark.ts index 3fdc4a7bb6b..05b0530791e 100644 --- a/src/badge/styles/dark.ts +++ b/src/badge/styles/dark.ts @@ -18,6 +18,7 @@ const badgeDark: BadgeTheme = { colorSuccess: successColorSuppl, colorError: errorColorSuppl, colorWarning: warningColorSuppl, + textColor: '#FFF', fontSize: '12px', fontFamily } diff --git a/src/badge/styles/light.ts b/src/badge/styles/light.ts index d1a394401a6..6d70e71ee89 100644 --- a/src/badge/styles/light.ts +++ b/src/badge/styles/light.ts @@ -10,6 +10,7 @@ function self(vars: ThemeCommonVars) { colorSuccess: successColor, colorError: errorColor, colorWarning: warningColor, + textColor: '#FFF', fontSize: '12px', fontFamily }