From 52239d137c07750c3fb599c904e6865106ac42cb Mon Sep 17 00:00:00 2001 From: Evan You Date: Fri, 29 Nov 2019 11:53:54 -0500 Subject: [PATCH] types: fix class module transition class typing --- packages/runtime-dom/src/modules/class.ts | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/packages/runtime-dom/src/modules/class.ts b/packages/runtime-dom/src/modules/class.ts index 34cb5d8db6..b7ab9b19d3 100644 --- a/packages/runtime-dom/src/modules/class.ts +++ b/packages/runtime-dom/src/modules/class.ts @@ -2,20 +2,17 @@ import { ElementWithTransition } from '../components/Transition' // compiler should normalize class + :class bindings on the same element // into a single binding ['staticClass', dynamic] -export function patchClass( - el: ElementWithTransition, - value: string, - isSVG: boolean -) { - // if this is an element during a transition, take the temporary transition - // classes into account. - if (el._vtc) { - value = [value, ...el._vtc].join(' ') - } +export function patchClass(el: Element, value: string, isSVG: boolean) { // directly setting className should be faster than setAttribute in theory if (isSVG) { el.setAttribute('class', value) } else { + // if this is an element during a transition, take the temporary transition + // classes into account. + const transtionClasses = (el as ElementWithTransition)._vtc + if (transtionClasses) { + value = [value, ...transtionClasses].join(' ') + } el.className = value } } -- 2.47.3