我正在使用Lit构建我的前端 UI 组件。我还使用了定义自己的 Web 组件的公司内部设计系统。我的问题是,当用户点击其上的“关闭”按钮时,这些内部 Web 组件之一可以直接从 DOM 中删除自己。Lit 不知道发生了这种情况,如果我重新渲染我的组件,它就不起作用。有没有办法以某种方式手动向 Lit 指示真实 DOM 已更改并同步其缓存?
例如,这是我的 LitElement Web 组件的渲染方法的简化版本:
render(): TemplateResult {
return html`
<div ... >
<div ... >
<internal-component ... >
</internal-component>
</div>
</div>
`;
}
“内部组件”做自己的事情并呈现一个“关闭”按钮,当单击该按钮时,会直接将其自身从 DOM 中的父元素中移除。它确实会发出一个发生这种情况的事件,但如果我调用“requestUpdate”重新渲染,Lit 不会重新渲染内部组件。如果有一个 Lit API 我可以在关闭事件期间调用“将缓存与实际 DOM 同步”,那么它可能会起作用。
提前致谢!
- 史蒂夫