]> git.ipfire.org Git - thirdparty/vuejs/core.git/commitdiff
chore: tweaks
authordaiwei <daiwei521@126.com>
Sat, 26 Jul 2025 08:37:28 +0000 (16:37 +0800)
committerdaiwei <daiwei521@126.com>
Sat, 26 Jul 2025 08:37:28 +0000 (16:37 +0800)
packages/compiler-vapor/src/generators/prop.ts

index ef1ebba2ae4984f54f469f4160a066d8c20dd010..392420613f5ecae79f3890d6d202d27149f4e4d1 100644 (file)
@@ -170,32 +170,33 @@ function getRuntimeHelper(
 ): HelperConfig {
   const tagName = tag.toUpperCase()
   const isSVG = isSVGTag(tag)
+
+  // 1. SVG: always attribute
+  if (isSVG) {
+    // TODO pass svg flag
+    return helpers.setAttr
+  }
+
   if (modifier) {
     if (modifier === '.') {
-      return getSpecialHelper(key, tagName, isSVG) || helpers.setDOMProp
+      return getSpecialHelper(key, tagName) || helpers.setDOMProp
     } else {
       return helpers.setAttr
     }
   }
 
-  // 1. special handling for value / style / class / textContent /  innerHTML
-  const helper = getSpecialHelper(key, tagName, isSVG)
+  // 2. special handling for value / style / class / textContent /  innerHTML
+  const helper = getSpecialHelper(key, tagName)
   if (helper) {
     return helper
   }
 
-  // 2. Aria DOM properties shared between all Elements in
+  // 3. Aria DOM properties shared between all Elements in
   //    https://developer.mozilla.org/en-US/docs/Web/API/Element
   if (/aria[A-Z]/.test(key)) {
     return helpers.setDOMProp
   }
 
-  // 3. SVG: always attribute
-  if (isSVG) {
-    // TODO pass svg flag
-    return helpers.setAttr
-  }
-
   // 4. respect shouldSetAsAttr used in vdom and setDynamicProp for consistency
   //    also fast path for presence of hyphen (covers data-* and aria-*)
   if (shouldSetAsAttr(tagName, key) || key.includes('-')) {
@@ -210,13 +211,12 @@ function getRuntimeHelper(
 function getSpecialHelper(
   keyName: string,
   tagName: string,
-  isSVG: boolean,
 ): HelperConfig | undefined {
   // special case for 'value' property
   if (keyName === 'value' && canSetValueDirectly(tagName)) {
     return helpers.setValue
   } else if (keyName === 'class') {
-    return isSVG ? helpers.setAttr : helpers.setClass
+    return helpers.setClass
   } else if (keyName === 'style') {
     return helpers.setStyle
   } else if (keyName === 'innerHTML') {