自定义视图布局
默认情况下,Home Assistant 会尝试以 masonry 布局(类似 Pinterest)显示 cards。自定义视图布局允许开发者覆盖这一行为,并定义自己的布局机制(例如网格)。
API
你可以将自定义视图定义为 custom element。如何在元素内部渲染 DOM 由你决定。你可以使用 Lit Element、Preact 或任何其他流行框架(React 除外——这里有更多关于 React 的说明)。
自定义视图会接收到以下内容:
Cards 和 Badges 会由核心代码创建并维护,然后传递给 custom view。Custom views 的职责是加载这些 cards 和 badges,并以自定义布局显示它们。
示例
(注意:此示例并未包含所有属性,只保留了展示示例所需的最基本内容)
你可以像定义 Custom Card 一样,在 Custom Element Registry 中定义这个元素:
在视图定义中添加以下内容即可使用 custom view:
默认的 masonry view 就是一个布局元素示例。(source)。
存储自定义数据
如果你的视图需要在 card 级别持久化数据,可以使用 card 配置中的 view_layout 来存储信息。例如:key、X 和 Y 坐标、宽度和高度等。当你需要为视图存储 card 的位置或尺寸时,这会很有用。
编辑、删除或添加卡片
如果你想调用核心前端 dialogs 来编辑、删除或添加 card,只需触发以下三个事件:
你可以这样触发事件:

