Explorar el Código

fix(runtime-dom): patch translate as an attr (#5485)

close #5462
木杉 hace 4 años
padre
commit
2c09969b13

+ 7 - 0
packages/runtime-dom/__tests__/patchProps.spec.ts

@@ -263,4 +263,11 @@ describe('runtime-dom: props patching', () => {
     )
     expect(el.value).toBe('baz')
   })
+
+  test('translate attribute', () => {
+    const el = document.createElement('div')
+    patchProp(el, 'translate', null, 'no')
+    expect(el.translate).toBeFalsy()
+    expect(el.getAttribute('translate')).toBe('no')
+  })
 })

+ 5 - 5
packages/runtime-dom/src/patchProp.ts

@@ -79,13 +79,13 @@ function shouldSetAsProp(
     return false
   }
 
-  // spellcheck and draggable are numerated attrs, however their
-  // corresponding DOM properties are actually booleans - this leads to
-  // setting it with a string "false" value leading it to be coerced to
-  // `true`, so we need to always treat them as attributes.
+  // these are enumerated attrs, however their corresponding DOM properties
+  // are actually booleans - this leads to setting it with a string "false"
+  // value leading it to be coerced to `true`, so we need to always treat
+  // them as attributes.
   // Note that `contentEditable` doesn't have this problem: its DOM
   // property is also enumerated string values.
-  if (key === 'spellcheck' || key === 'draggable') {
+  if (key === 'spellcheck' || key === 'draggable' || key === 'translate') {
     return false
   }