9个版本
0.1.8 | 2024年2月16日 |
---|---|
0.1.7 | 2024年2月16日 |
#189 在 GUI
每月下载 82 次
26KB
567 行
Leptoaster
Leptoaster是Leptos的极简toast库。它提供了一个简单的接口来向用户显示toast消息。
演示
请查看演示此处。
入门
假设您已经安装了Leptos,安装Leptoaster
cargo add leptoaster
安装后,在应用程序的根组件中提供toaster并添加Toaster
组件。
use leptos::*;
use leptoaster::*;
#[component]
fn App() -> IntoView {
provide_toaster();
view! {
<Toaster />
// your other components
}
}
Toaster
组件接受一个可选的bool
属性,stacked
,用于定义toast是否堆叠。
use leptos::*;
use leptoaster::*;
#[component]
fn App() -> IntoView {
provide_toaster();
view! {
<Toaster stacked={true} />
// your other components
}
}
要在任何组件中创建toast消息,只需使用expect_toaster()
。
use lepto::*;
use leptoaster::*;
#[component]
fn MyComponent() -> IntoView {
let toaster = expect_toaster();
toaster.success("A toast message should appear!");
}
就这样!您现在可以在UI中显示toast消息了!
toaster
公开了多种不同类型的toast
信息
成功
警告
错误
要自定义更多,请使用toast
函数和ToastBuilder
toaster.toast(
ToastBuilder::new("My toast message goes here.")
.with_level(ToastLevel::Success) // set the toast level (default is `ToastLevel::Info`)
.with_dismissable(false) // allow or disallow the toast from being dismissable (default is `true`)
.with_expiry(Some(3_000)) // expiry in milliseconds (default is `2500`)
.with_progress(false) // enable or disable the progress bar (default is `true`)
.with_position(ToastPosition::TopRight) // set the toast position (default is 'ToastPosition::BottomLeft`)
);
toaster
还允许您清除屏幕上当前可见的所有toast,包括非过期toast
#[component]
fn MyComponent() -> IntoView {
let toaster = expect_toaster();
toaster.clear();
}
样式
要自定义样式,重写以下CSS变量中的任何一个
--leptoaster-width
--leptoaster-max-width
--leptoaster-z-index
--leptoaster-font-family
--leptoaster-font-size
--leptoaster-line-height
--leptoaster-font-weight
--leptoaster-progress-height
--leptoaster-info-background-color
--leptoaster-info-border-color
--leptoaster-info-text-color
--leptoaster-success-background-color
--leptoaster-success-border-color
--leptoaster-success-text-color
--leptoaster-warn-background-color
--leptoaster-warn-border-color
--leptoaster-warn-text-color
--leptoaster-error-background-color
--leptoaster-error-border-color
--leptoaster-error-text-color
依赖关系
~19–32MB
~513K SLoC