弹窗外壳
ModalShell浮层与反馈对话框外壳:遮罩、面板与开合动画。打开时接管焦点,Tab 只在弹窗内循环,Esc 或点遮罩关闭后把焦点还给触发器。
属性
| 名称 | 类型 | 默认值 | 说明 |
|---|---|---|---|
visible | RwSignal<bool> | 必填 | 弹窗显隐状态。 |
closing | RwSignal<bool> | 必填 | 共享关闭动画状态。 |
title | String | 必填 | 弹窗无障碍名称。 |
children | ChildrenFn | 必填 | 弹窗内部内容。 |
panel_class | String | w-full max-w-lg | 面板宽度等布局样式。 |
role | String | dialog | 面板角色;危险确认传 alertdialog。 |
键盘
- 演示关闭按钮
- 关闭示例弹窗
用法
src/components/ui.rslet visible = RwSignal::new(false);
let closing = RwSignal::new(false);
view! {
<div>
<button :click=move |_| visible.set(true)>"\u6253\u5F00\u5F39\u7A97"</button>
<ModalShell visible=visible closing=closing title="\u7559\u4F4F\u4E00\u7247\u7075\u611F">
<h2>"\u7559\u4F4F\u4E00\u7247\u7075\u611F\u3002"</h2>
<button :click=move |_| {
closing.set(true);
visible.set(false);
}>"\u6536\u597D\u4E86"</button>
</ModalShell>
</div>
}