dioxus_element_plug/components/
option.rs1use dioxus::prelude::*;
2
3#[derive(Props, Clone, PartialEq)]
5pub struct OptionProps {
6 pub value: String,
8
9 pub label: String,
11
12 #[props(default = false)]
14 pub disabled: bool,
15
16 #[props(default)]
18 pub class: Option<String>,
19}
20
21#[component]
23pub fn OptionComponent(props: OptionProps) -> Element {
24 let mut class_names = vec!["el-select-dropdown__item".to_string()];
25
26 if props.disabled {
27 class_names.push("is-disabled".to_string());
28 }
29
30 if let Some(ref custom_class) = props.class {
31 class_names.push(custom_class.clone());
32 }
33
34 let class_string = class_names.join(" ");
35
36 rsx! {
37 div {
38 class: "{class_string}",
39 "{props.label}"
40 }
41 }
42}