#yew #dynamic #attributes #attr

yew-attrs

为 Yew 提供动态属性

8 个版本

新版本 0.2.4 2024年8月21日
0.2.3 2024年8月21日
0.1.2 2024年8月17日

2#attr

Download history 255/week @ 2024-08-12

每月255次下载
用于 yew-attrs-macro

MIT 许可证

11KB
200

yew-attrs

Yew 提供动态属性。

文档

crates 的文档可在 Docs.rs 上找到


lib.rs:

为 Yew 提供动态属性。

示例

use yew::{prelude::*, virtual_dom::VTag};
use yew_attrs::{attrs, Attrs};

#[derive(PartialEq, Properties)]
struct ButtonProps {
    #[prop_or_default]
    pub node_ref: NodeRef,
    #[prop_or_default]
    pub attrs: Attrs,
    #[prop_or_default]
    pub children: Html,
}

#[function_component]
fn Button(props: &ButtonProps) -> Html {
    props
        .attrs
        .clone()
        .new_vtag(
            "button",
            props.node_ref.clone(),
            Default::default(),
            props.children.clone(),
        )
        .into()
}

#[function_component]
fn App() -> Html {
    let on_click = use_callback((), |_, _| {});

    html! {
        <Button attrs={attrs! {class="text-red" disabled=false onclick={on_click}}}>
            {"Click"}
        </Button>
    }
}

依赖项

~11–15MB
~262K SLoC