3
3
``` rust demo
4
4
let value = create_rw_signal (None :: <String >);
5
5
let message = use_message ();
6
- let facebook = move | _ | {
7
- message . create (
8
- " Facebook" . into (),
9
- MessageVariant :: Success ,
10
- Default :: default (),
11
- );
12
- };
13
- let twitter = move | _ | {
14
- message . create (
15
- " Twitter" . into (),
16
- MessageVariant :: Warning ,
17
- Default :: default (),
18
- );
6
+
7
+ let on_select = move | key : String | {
8
+ match key . as_str () {
9
+ " facebook" => message . create ( " Facebook" . into (), MessageVariant :: Success , Default :: default (),),
10
+ " twitter" => message . create ( " Twitter" . into (), MessageVariant :: Warning , Default :: default (),),
11
+ _ => ()
12
+ }
19
13
};
14
+
15
+
20
16
view! {
21
17
<Space >
22
- <Dropdown >
18
+ <Dropdown on_select >
23
19
<DropdownTrigger slot >
24
20
<Button >" Click" </ Button >
25
21
</ DropdownTrigger >
26
- <DropdownItem on_click = facebook icon = icondata :: AiFacebookOutlined label = " Facebook" ></ DropdownItem >
27
- <DropdownItem on_click = twitter disabled = true icon = icondata :: AiTwitterOutlined label = " Twitter" ></ DropdownItem >
22
+ <DropdownItem key = " facebook" icon = icondata :: AiFacebookOutlined label = " Facebook" ></ DropdownItem >
23
+ <DropdownItem key = " twitter" disabled = true icon = icondata :: AiTwitterOutlined label = " Twitter" ></ DropdownItem >
28
24
</ Dropdown >
29
25
30
- <Dropdown trigger_type = DropdownTriggerType :: Hover >
26
+ <Dropdown on_select trigger_type = DropdownTriggerType :: Hover >
31
27
<DropdownTrigger slot >
32
28
<Button >" Hover" </ Button >
33
29
</ DropdownTrigger >
34
- <DropdownItem on_click = facebook icon = icondata :: AiFacebookOutlined label = " Facebook" ></ DropdownItem >
35
- <DropdownItem on_click = twitter disabled = true icon = icondata :: AiTwitterOutlined label = " Twitter" ></ DropdownItem >
30
+ <DropdownItem key = " facebook" icon = icondata :: AiFacebookOutlined label = " Facebook" ></ DropdownItem >
31
+ <DropdownItem key = " twitter" disabled = true icon = icondata :: AiTwitterOutlined label = " Twitter" ></ DropdownItem >
36
32
</ Dropdown >
37
33
</ Space >
38
34
}
@@ -43,101 +39,103 @@ view! {
43
39
``` rust demo
44
40
use leptos_meta :: Style ;
45
41
42
+ let on_select = move | key | println! (" {}" , key );
43
+
46
44
view! {
47
45
<Style >
48
46
" .demo-dropdown .thaw-button { width: 100% } .demo-dropdown .thaw-dropdown-trigger { display: block }"
49
47
</ Style >
50
48
<Grid x_gap = 8 y_gap = 8 cols = 3 class = " demo-dropdown" >
51
49
<GridItem >
52
- <Dropdown placement = DropdownPlacement :: TopStart >
50
+ <Dropdown on_select placement = DropdownPlacement :: TopStart >
53
51
<DropdownTrigger slot >
54
52
<Button >" Top Start" </ Button >
55
53
</ DropdownTrigger >
56
54
" Content"
57
55
</ Dropdown >
58
56
</ GridItem >
59
57
<GridItem >
60
- <Dropdown placement = DropdownPlacement :: Top >
58
+ <Dropdown on_select placement = DropdownPlacement :: Top >
61
59
<DropdownTrigger slot >
62
60
<Button >" Top" </ Button >
63
61
</ DropdownTrigger >
64
62
" Content"
65
63
</ Dropdown >
66
64
</ GridItem >
67
65
<GridItem >
68
- <Dropdown placement = DropdownPlacement :: TopEnd >
66
+ <Dropdown on_select placement = DropdownPlacement :: TopEnd >
69
67
<DropdownTrigger slot >
70
68
<Button >" Top End" </ Button >
71
69
</ DropdownTrigger >
72
70
" Content"
73
71
</ Dropdown >
74
72
</ GridItem >
75
73
<GridItem >
76
- <Dropdown placement = DropdownPlacement :: LeftStart >
74
+ <Dropdown on_select placement = DropdownPlacement :: LeftStart >
77
75
<DropdownTrigger slot >
78
76
<Button >" Left Start" </ Button >
79
77
</ DropdownTrigger >
80
78
" Content"
81
79
</ Dropdown >
82
80
</ GridItem >
83
81
<GridItem offset = 1 >
84
- <Dropdown placement = DropdownPlacement :: RightStart >
82
+ <Dropdown on_select placement = DropdownPlacement :: RightStart >
85
83
<DropdownTrigger slot >
86
84
<Button >" Right Start" </ Button >
87
85
</ DropdownTrigger >
88
86
" Content"
89
87
</ Dropdown >
90
88
</ GridItem >
91
89
<GridItem >
92
- <Dropdown placement = DropdownPlacement :: Left >
90
+ <Dropdown on_select placement = DropdownPlacement :: Left >
93
91
<DropdownTrigger slot >
94
92
<Button >" Left" </ Button >
95
93
</ DropdownTrigger >
96
94
" Content"
97
95
</ Dropdown >
98
96
</ GridItem >
99
97
<GridItem offset = 1 >
100
- <Dropdown placement = DropdownPlacement :: Right >
98
+ <Dropdown on_select placement = DropdownPlacement :: Right >
101
99
<DropdownTrigger slot >
102
100
<Button >" Right" </ Button >
103
101
</ DropdownTrigger >
104
102
" Content"
105
103
</ Dropdown >
106
104
</ GridItem >
107
105
<GridItem >
108
- <Dropdown placement = DropdownPlacement :: LeftEnd >
106
+ <Dropdown on_select placement = DropdownPlacement :: LeftEnd >
109
107
<DropdownTrigger slot >
110
108
<Button >" Left End" </ Button >
111
109
</ DropdownTrigger >
112
110
" Content"
113
111
</ Dropdown >
114
112
</ GridItem >
115
113
<GridItem offset = 1 >
116
- <Dropdown placement = DropdownPlacement :: RightEnd >
114
+ <Dropdown on_select placement = DropdownPlacement :: RightEnd >
117
115
<DropdownTrigger slot >
118
116
<Button >" Right End" </ Button >
119
117
</ DropdownTrigger >
120
118
" Content"
121
119
</ Dropdown >
122
120
</ GridItem >
123
121
<GridItem >
124
- <Dropdown placement = DropdownPlacement :: BottomStart >
122
+ <Dropdown on_select placement = DropdownPlacement :: BottomStart >
125
123
<DropdownTrigger slot >
126
124
<Button >" Bottom Start" </ Button >
127
125
</ DropdownTrigger >
128
126
" Content"
129
127
</ Dropdown >
130
128
</ GridItem >
131
129
<GridItem >
132
- <Dropdown placement = DropdownPlacement :: Bottom >
130
+ <Dropdown on_select placement = DropdownPlacement :: Bottom >
133
131
<DropdownTrigger slot >
134
132
<Button >" Bottom" </ Button >
135
133
</ DropdownTrigger >
136
134
" Content"
137
135
</ Dropdown >
138
136
</ GridItem >
139
137
<GridItem >
140
- <Dropdown placement = DropdownPlacement :: BottomEnd >
138
+ <Dropdown on_select placement = DropdownPlacement :: BottomEnd >
141
139
<DropdownTrigger slot >
142
140
<Button >" Bottom End" </ Button >
143
141
</ DropdownTrigger >
0 commit comments