From 8848d105222a7f26e7224b3981c90e1f7817cc34 Mon Sep 17 00:00:00 2001 From: =?utf8?q?=E4=B8=89=E5=92=B2=E6=99=BA=E5=AD=90=20Kevin=20Deng?= Date: Thu, 25 Jan 2024 16:24:42 +0800 Subject: [PATCH] fix(compiler-vapor): omit prop key for set class&style --- .../compiler-vapor/src/generators/prop.ts | 21 ++++++++++++------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/packages/compiler-vapor/src/generators/prop.ts b/packages/compiler-vapor/src/generators/prop.ts index 4dd4a1c958..b48d0773bf 100644 --- a/packages/compiler-vapor/src/generators/prop.ts +++ b/packages/compiler-vapor/src/generators/prop.ts @@ -15,10 +15,13 @@ export function genSetProp(oper: SetPropIRNode, context: CodegenContext) { const keyName = isString(oper.key) ? oper.key : oper.key.content let helperName: string | undefined + let omitKey = false if (keyName === 'class') { helperName = 'setClass' + omitKey = true } else if (keyName === 'style') { helperName = 'setStyle' + omitKey = true } else if (oper.modifier) { helperName = oper.modifier === '.' ? 'setDOMProp' : 'setAttr' } @@ -27,14 +30,16 @@ export function genSetProp(oper: SetPropIRNode, context: CodegenContext) { pushFnCall( vaporHelper(helperName), element, - () => { - const expr = () => genExpression(oper.key, context) - if (oper.runtimeCamelize) { - pushFnCall(helper('camelize'), expr) - } else { - expr() - } - }, + omitKey + ? false + : () => { + const expr = () => genExpression(oper.key, context) + if (oper.runtimeCamelize) { + pushFnCall(helper('camelize'), expr) + } else { + expr() + } + }, 'undefined', () => genExpression(oper.value, context), ) -- 2.47.3