refactor: improve the fix for #4138

This commit is contained in:
Evan You 2021-07-19 10:43:14 -04:00
parent a8c3a8ad61
commit 47ba33e27b

View File

@ -3,14 +3,16 @@ import { isNoUnitNumericStyleProp } from './domAttrConfig'
export type NormalizedStyle = Record<string, string | number>
export function normalizeStyle(value: unknown): NormalizedStyle | undefined {
export function normalizeStyle(
value: unknown
): NormalizedStyle | string | undefined {
if (isArray(value)) {
const res: NormalizedStyle = {}
for (let i = 0; i < value.length; i++) {
const item = value[i]
const normalized = normalizeStyle(
isString(item) ? parseStringStyle(item) : item
)
const normalized = isString(item)
? parseStringStyle(item)
: (normalizeStyle(item) as NormalizedStyle)
if (normalized) {
for (const key in normalized) {
res[key] = normalized[key]
@ -19,7 +21,7 @@ export function normalizeStyle(value: unknown): NormalizedStyle | undefined {
}
return res
} else if (isString(value)) {
return parseStringStyle(value)
return value
} else if (isObject(value)) {
return value
}