Skip to main content

PaletteShell

Function PaletteShell 

Source
pub(crate) fn PaletteShell(props: PaletteShellProps) -> impl IntoView
Expand description

面板对话框外壳:scrim、输入行、列表、空结果与页脚。只在面板打开时渲染。

输入、键位与列表渲染都在这里;数据、条目选中动作和各插槽内容由面板提供。

Props:

  • state:use_palette_state 创建的公共状态
  • label:对话框 aria-label,同时作为 trap_tab 的名称(“搜索” / “命令面板”)
  • input_label / placeholder / list_label:输入框与列表的无障碍名称、占位文案
  • enter_hint:页脚 ↵ 的说明(“打开” / “执行”)
  • empty_hint:空结果提示文案
  • groups:当前要显示的分组(扁平序号按组顺序累计)
  • waiting:远端结果对应的查询与当前输入不同(与 loading 同时为真时不显示空结果)
  • clearable:有输入时在输入行显示清除按钮
  • toolbar:输入行与列表之间的插槽(前台范围标签)
  • empty_action:空结果提示下方的插槽(前台「在全文中搜索」)
  • footer_action:页脚快捷键说明右侧的插槽(前台「全文搜索」)
  • on_query_change:输入变化(非输入法组合期间)或清空后重新检索
  • on_pick:选中条目,参数 (扁平序号, 是否按住 ⌘/Ctrl)
  • on_close:点击遮罩、Esc 按钮或空输入时按 Escape

§Required Props

§Optional Props