Bläddra i källkod

feat: handle bool attrs properly

Jonathan Kelley 3 år sedan
förälder
incheckning
8d685f40b7
2 ändrade filer med 14 tillägg och 2 borttagningar
  1. 5 1
      packages/desktop/src/index.js
  2. 9 1
      packages/web/src/dom.rs

+ 5 - 1
packages/desktop/src/index.js

@@ -369,7 +369,11 @@ class Interpreter {
           node.innerHTML = value;
           break;
         default:
-          node.setAttribute(name, value);
+          if (value == "false") {
+            node.removeAttribute(name);
+          } else {
+            node.setAttribute(name, value);
+          }
       }
     }
   }

+ 9 - 1
packages/web/src/dom.rs

@@ -347,7 +347,15 @@ impl WebsysDom {
                         fallback();
                     }
                 }
-                _ => fallback(),
+                _ => {
+                    if value == "false" {
+                        if let Some(el) = node.dyn_ref::<Element>() {
+                            let _ = el.remove_attribute(name);
+                        }
+                    } else {
+                        fallback();
+                    }
+                }
             }
         }
     }