pub(crate) fn PaletteShell(props: PaletteShellProps) -> impl IntoViewExpand 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
state:PaletteStatelabel: [&'static str]input_label: [&'static str]placeholder: [&'static str]list_label: [&'static str]enter_hint: [&'static str]empty_hint: [&'static str]groups:impl Into<Signal<Vec<PaletteGroup>>>waiting:impl Into<Signal<bool>>on_query_change:impl Into<Callback<()>>on_pick: [impl Into<Callback<(usize, bool)>>](Callback<(usize, bool)>)on_close:impl Into<Callback<()>>
§Optional Props
clearable:booltoolbar:impl Into<ViewFn>empty_action:impl Into<ViewFn>footer_action:impl Into<ViewFn>