From 8d685f40b7e0ef6521c60310d8687291e9b9c48a Mon Sep 17 00:00:00 2001 From: Jonathan Kelley Date: Sat, 8 Jan 2022 02:09:02 -0500 Subject: [PATCH] feat: handle bool attrs properly --- packages/desktop/src/index.js | 6 +++++- packages/web/src/dom.rs | 10 +++++++++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/packages/desktop/src/index.js b/packages/desktop/src/index.js index b4f673bf3..ca08863cd 100644 --- a/packages/desktop/src/index.js +++ b/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); + } } } } diff --git a/packages/web/src/dom.rs b/packages/web/src/dom.rs index 6de9247f5..280e285a5 100644 --- a/packages/web/src/dom.rs +++ b/packages/web/src/dom.rs @@ -347,7 +347,15 @@ impl WebsysDom { fallback(); } } - _ => fallback(), + _ => { + if value == "false" { + if let Some(el) = node.dyn_ref::() { + let _ = el.remove_attribute(name); + } + } else { + fallback(); + } + } } } }