vertigo_forms/input/
list_input.rs1use vertigo::{AttrGroup, Value, bind, component, dom};
2
3#[component]
7pub fn ListInput(value: Value<Vec<String>>, input: AttrGroup) {
8 let value_str = value.map(|v| v.join(","));
9
10 let on_input = bind!(value, |new_value: String| {
11 value.set(
12 new_value
13 .split(',')
14 .filter_map(|v| {
15 let v = v.trim();
16 if v.is_empty() {
17 None
18 } else {
19 Some(v.to_string())
20 }
21 })
22 .collect(),
23 );
24 });
25
26 dom! {
27 <input value={value_str} on_input={on_input} {..input} />
28 }
29}