diff --git a/packages/html/src/events/form.rs b/packages/html/src/events/form.rs index d22a5219f..4183326ae 100644 --- a/packages/html/src/events/form.rs +++ b/packages/html/src/events/form.rs @@ -18,6 +18,27 @@ pub enum FormValue { Text(String), VecText(Vec), } +impl Into> for FormValue { + fn into(self) -> Vec { + match self{ + FormValue::Text(s) => vec![s], + FormValue::VecText(vec) => vec, + } + } +} +impl FormValue { + /// Convenient way to represent Value as slice + pub fn as_slice(&self) -> &[String] { + match self{ + FormValue::Text(s) => std::slice::from_ref(s), + FormValue::VecText(vec) => vec.as_slice(), + } + } + /// Convert into Vec + pub fn to_vec(self) -> Vec { + self.into() + } +} /* DOMEvent: Send + SyncTarget relatedTarget */ pub struct FormData {