API 签名
registerSurface 返回一个清理函数。调用它可移除 surface 注册并触发重新渲染。
可用插槽
抽屉插槽与渲染顺序
drawer.header 与 drawer.footer 插槽在对话列表滚动时保持固定。
传统 drawer 插槽仍然支持,并按以下顺序在对话列表末尾渲染:
drawerdrawer.list.end- 内置扩展页面启动入口
Drawer opened 事件
监听drawer.opened 事件可在对话抽屉打开时触发扩展逻辑:
drawer.opened 在每次由关到开的过渡(包括滑动手势)时触发一次。在平板端,当固定抽屉首次进入组合时触发一次(稳定的重组合不会重复触发)。
SurfaceDefinition 字段
string
此 surface 注册的唯一标识符。Aether 用它跟踪并去重同一扩展的注册。若省略,Aether 会根据插槽与注册顺序生成一个。
number
多个扩展注册同一插槽时控制渲染顺序。数值越小越先渲染。省略时默认为
0。function
工厂函数,接收渲染上下文并返回
ui 节点树。可为同步或 async。请使用 render 或 tree 之一。object
省略
render 时使用的静态 ui 节点树。渲染上下文
每次渲染周期,Aether 会向你的render 函数传入包括下列字段在内的上下文:
示例
index.ts
调用
aether.invalidate() 可在扩展内部状态变化时强制重新渲染所有 surfaces。Aether 不会在任意扩展侧变更时自动重渲染 surfaces — 仅在存储写入、action 调用与显式 invalidation 时重渲染。