Sfoglia il codice sorgente

feat: process certain attrs as properties

Evan You 7 anni fa
parent
commit
93d724382e

+ 10 - 10
packages/renderer-dom/src/modules/attrs.ts

@@ -1,3 +1,13 @@
+const xlinkNS = 'http://www.w3.org/1999/xlink'
+
+function isXlink(name: string): boolean {
+  return name.charAt(5) === ':' && name.slice(0, 5) === 'xlink'
+}
+
+function getXlinkProp(name: string): string {
+  return isXlink(name) ? name.slice(6, name.length) : ''
+}
+
 export function patchAttr(
   el: Element,
   key: string,
@@ -19,13 +29,3 @@ export function patchAttr(
     }
   }
 }
-
-const xlinkNS = 'http://www.w3.org/1999/xlink'
-
-function isXlink(name: string): boolean {
-  return name.charAt(5) === ':' && name.slice(0, 5) === 'xlink'
-}
-
-function getXlinkProp(name: string): string {
-  return isXlink(name) ? name.slice(6, name.length) : ''
-}

+ 3 - 1
packages/renderer-dom/src/patchData.ts

@@ -6,7 +6,9 @@ import { patchDOMProp } from './modules/props'
 import { patchEvent } from './modules/events'
 
 export const onRE = /^on/
-const domPropsRE = /^domProps/
+
+// value, checked, selected & muted are always patched as properties
+const domPropsRE = /^domProps|^(?:value|checked|selected|muted)$/
 
 export function patchData(
   el: Element,