From 0b3b1cfa487a359c8762794cfd74726d55b9ef8f Mon Sep 17 00:00:00 2001 From: Evan You Date: Tue, 28 Jul 2020 11:44:27 -0400 Subject: [PATCH] fix(v-model): enable v-model type detection on custom elements --- packages/compiler-dom/src/transforms/vModel.ts | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/compiler-dom/src/transforms/vModel.ts b/packages/compiler-dom/src/transforms/vModel.ts index 83984d23..0aa9dca1 100644 --- a/packages/compiler-dom/src/transforms/vModel.ts +++ b/packages/compiler-dom/src/transforms/vModel.ts @@ -44,15 +44,16 @@ export const transformModel: DirectiveTransform = (dir, node, context) => { } const { tag } = node + const isCustomElement = context.isCustomElement(tag) if ( tag === 'input' || tag === 'textarea' || tag === 'select' || - context.isCustomElement(tag) + isCustomElement ) { let directiveToUse = V_MODEL_TEXT let isInvalidType = false - if (tag === 'input') { + if (tag === 'input' || isCustomElement) { const type = findProp(node, `type`) if (type) { if (type.type === NodeTypes.DIRECTIVE) { @@ -91,9 +92,8 @@ export const transformModel: DirectiveTransform = (dir, node, context) => { } } else if (tag === 'select') { directiveToUse = V_MODEL_SELECT - } - { - // textarea or custom elements + } else { + // textarea __DEV__ && checkDuplicatedValue() } // inject runtime directive