2个版本
0.1.1 | 2022年11月13日 |
---|---|
0.1.0 | 2022年11月7日 |
#949 in 过程宏
19KB
273 行
这个crate当前状态不应使用
因为目前这个crate基本上不适合用于任何东西。我目前正用它来http://rustjobs.io。计划是随着时间的推移改进这个crate,使其更通用,以处理更多的用例。
很快会修复这个问题
- 如果使用了bool类型,那么使其成为bool类型;如果是字符串,使其成为字符串;如果ele属性是"checkbox"。
这是一个正在进行中的项目
警告 这个crate文档不良,因此使用起来很困难
待办事项
- 为doc.rs添加文档
这是什么
- 这是一个帮助在yew中处理表单的宏。它是如何工作的
use yew_form_derive::YewForm;
// TODO: idk if this is a minial example
// this create input elements that can be used in a from
// to use these elements use the context provided by this
// macro
#[derive(YewForm, PartialEq)]
pub struct AdvertiseForm {
pub company: String,
pub position: String,
pub salary_range: String,
pub link_to_apply: String, // better suited as a URL type
#[ele = "textarea"]
pub description: String,
}
// later on in another file or the same on
...
#[function_component(FormConsumer)]
pub fn consumer() -> Html {
let form = use_context::<AdvertiseFormProvider>().expect("an advertiser form");
let input_style = "text-xl sm:text-5xl bg-transparent border-black border p-2.5 rounded-lg";
html! {
<form>
<Company class={input_style} />
<Position class={input_style} />
<Salary_range class={input_style} />
<Description class={input_style}/>
<Link_to_apply class={input_style}/>
<button type="submit">
{"Checkout ->"}
</button>
</form>
}
}
#[function_component(AdvertisePage)]
pub fn advertise_page() -> Html {
html! {
<AdvertiseFormProvider>
<FormConsumer />
</AdvertiseFormProvider>
}
}
依赖关系
~13MB
~236K SLoC