交互浮层

Popover浮层与反馈

点击触发的浮层,承载确认框或轻量表单。以弹簧从 0.98 放大淡入;点外部、按 Esc 或面板内按钮关闭。

预览

属性

名称类型默认值说明
openSignal<bool>必填是否显示面板。
anchor_x / anchor_ySignal<i32>必填视口内的锚点坐标。
childrenChildrenFn必填浮层内容。
on_closeCallback<()>必填请求关闭浮层。
placementStringtoptop 或 bottom。
alignStringcentercenter、start 或 end。

键盘

Escape
关闭浮层

用法

src/components/ui.rs
Leptos view!
let open = RwSignal::new(false);
let anchor_x = RwSignal::new(0_i32);
let anchor_y = RwSignal::new(0_i32);

view! {
    <div>
        <button on:click=move |event: leptos::ev::MouseEvent| {
            anchor_x.set(event.client_x());
            anchor_y.set(event.client_y());
            open.set(true);
        }>"\u6253\u5F00\u6D6E\u5C42"</button>
        <Popover
            open=open
            anchor_x=anchor_x
            anchor_y=anchor_y
            on_close=move |_| open.set(false)
        >
            <p>"\u4FDD\u7559\u8FD9\u7247\u7075\u611F\uFF1F"</p>
        </Popover>
    </div>
}