From 160c607aa8c75a479145cc723e849c62776421d0 Mon Sep 17 00:00:00 2001 From: Coolyang1996 <504575307@qq.com> Date: Mon, 20 Jan 2020 17:35:09 +0800 Subject: [PATCH 1/3] fix(transition): correct pass argument into classList api close #638 --- packages/runtime-dom/src/components/Transition.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/runtime-dom/src/components/Transition.ts b/packages/runtime-dom/src/components/Transition.ts index 13fd0f3f533..9f966fcc259 100644 --- a/packages/runtime-dom/src/components/Transition.ts +++ b/packages/runtime-dom/src/components/Transition.ts @@ -200,12 +200,12 @@ export interface ElementWithTransition extends HTMLElement { } export function addTransitionClass(el: ElementWithTransition, cls: string) { - el.classList.add(cls) + el.classList.add(...cls.split(' ')) ;(el._vtc || (el._vtc = new Set())).add(cls) } export function removeTransitionClass(el: ElementWithTransition, cls: string) { - el.classList.remove(cls) + el.classList.remove(...cls.split(' ')) if (el._vtc) { el._vtc.delete(cls) if (!el._vtc!.size) { From bc97e84537279df2e4e13f5ed60c811f24011657 Mon Sep 17 00:00:00 2001 From: coolyang <504575307@qq.com> Date: Tue, 21 Jan 2020 00:31:54 +0800 Subject: [PATCH 2/3] fix(transition): IE 11 does not support multiple arguments to add or remove --- packages/runtime-dom/src/components/Transition.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/runtime-dom/src/components/Transition.ts b/packages/runtime-dom/src/components/Transition.ts index 9f966fcc259..e0d36637f2e 100644 --- a/packages/runtime-dom/src/components/Transition.ts +++ b/packages/runtime-dom/src/components/Transition.ts @@ -200,12 +200,12 @@ export interface ElementWithTransition extends HTMLElement { } export function addTransitionClass(el: ElementWithTransition, cls: string) { - el.classList.add(...cls.split(' ')) + cls.split(' ').forEach(c => c && el.classList.add(c)) ;(el._vtc || (el._vtc = new Set())).add(cls) } export function removeTransitionClass(el: ElementWithTransition, cls: string) { - el.classList.remove(...cls.split(' ')) + cls.split(' ').forEach(c => c && el.classList.remove(c)) if (el._vtc) { el._vtc.delete(cls) if (!el._vtc!.size) { From 7db97c7e0a6594d51c0b75af1a512d176dcfa957 Mon Sep 17 00:00:00 2001 From: coolyang <504575307@qq.com> Date: Tue, 21 Jan 2020 01:04:07 +0800 Subject: [PATCH 3/3] fix(transition): change ' ' to /\s+/ --- packages/runtime-dom/src/components/Transition.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/runtime-dom/src/components/Transition.ts b/packages/runtime-dom/src/components/Transition.ts index e0d36637f2e..1a4e2c82b11 100644 --- a/packages/runtime-dom/src/components/Transition.ts +++ b/packages/runtime-dom/src/components/Transition.ts @@ -200,12 +200,12 @@ export interface ElementWithTransition extends HTMLElement { } export function addTransitionClass(el: ElementWithTransition, cls: string) { - cls.split(' ').forEach(c => c && el.classList.add(c)) + cls.split(/\s+/).forEach(c => c && el.classList.add(c)) ;(el._vtc || (el._vtc = new Set())).add(cls) } export function removeTransitionClass(el: ElementWithTransition, cls: string) { - cls.split(' ').forEach(c => c && el.classList.remove(c)) + cls.split(/\s+/).forEach(c => c && el.classList.remove(c)) if (el._vtc) { el._vtc.delete(cls) if (!el._vtc!.size) {