Skip to main content

dioxus_element_plug/components/
descriptions_item.rs

1use dioxus::prelude::*;
2
3/// DescriptionsItem props
4#[derive(Props, Clone, PartialEq)]
5pub struct DescriptionsItemProps {
6    #[props(default)]
7    pub children: Element,
8
9    /// Label text
10    pub label: String,
11
12    /// Column span
13    #[props(default = 1)]
14    pub span: u32,
15
16    /// Label width
17    #[props(default)]
18    pub label_width: Option<String>,
19
20    /// Content class
21    #[props(default)]
22    pub class: Option<String>,
23}
24
25/// DescriptionsItem component for individual description entries
26#[component]
27pub fn DescriptionsItem(props: DescriptionsItemProps) -> Element {
28    rsx! {
29        td {
30            class: "el-descriptions__label el-descriptions__cell",
31            "{props.label}"
32        }
33        td {
34            class: "el-descriptions__content el-descriptions__cell {props.class.clone().unwrap_or_default()}",
35            {props.children}
36        }
37    }
38}