refactor: simplify runtime-dom class tests

This commit is contained in:
Evan You
2020-04-10 15:23:01 -04:00
parent 6eb3399311
commit ed235f16de
6 changed files with 34 additions and 187 deletions

View File

@@ -6,15 +6,18 @@ export function patchClass(el: Element, value: string | null, isSVG: boolean) {
if (value == null) {
value = ''
}
// directly setting className should be faster than setAttribute in theory
if (isSVG) {
el.setAttribute('class', value)
} else {
// directly setting className should be faster than setAttribute in theory
// if this is an element during a transition, take the temporary transition
// classes into account.
const transitionClasses = (el as ElementWithTransition)._vtc
if (transitionClasses) {
value = [value, ...transitionClasses].join(' ')
value = (value
? [value, ...transitionClasses]
: [...transitionClasses]
).join(' ')
}
el.className = value
}