diff --git a/packages/html/src/events/form.rs b/packages/html/src/events/form.rs
index 9f2740874..3e4e00e0e 100644
--- a/packages/html/src/events/form.rs
+++ b/packages/html/src/events/form.rs
@@ -1,4 +1,4 @@
-use std::{collections::HashMap, fmt::Debug};
+use std::{collections::HashMap, fmt::Debug, sync::Arc};
use dioxus_core::Event;
@@ -6,13 +6,20 @@ pub type FormEvent = Event;
/* DOMEvent: Send + SyncTarget relatedTarget */
#[cfg_attr(feature = "serialize", derive(serde::Serialize, serde::Deserialize))]
-#[derive(Clone, PartialEq, Default)]
+#[derive(Clone)]
pub struct FormData {
pub value: String,
pub values: HashMap,
- // #[cfg_attr(feature = "serialize", serde(skip))]
- // pub files: Option>,
+
+ #[cfg_attr(feature = "serialize", serde(skip))]
+ pub files: Option>,
+}
+
+impl PartialEq for FormData {
+ fn eq(&self, other: &Self) -> bool {
+ self.value == other.value && self.values == other.values
+ }
}
impl Debug for FormData {
@@ -24,17 +31,17 @@ impl Debug for FormData {
}
}
-// #[async_trait::async_trait(?Send)]
-// pub trait FileEngine {
-// // get a list of file names
-// fn files(&self) -> Vec;
+#[async_trait::async_trait(?Send)]
+pub trait FileEngine {
+ // get a list of file names
+ fn files(&self) -> Vec;
-// // read a file to bytes
-// async fn read_file(&self, file: &str) -> Option>;
+ // read a file to bytes
+ async fn read_file(&self, file: &str) -> Option>;
-// // read a file to string
-// async fn read_file_to_string(&self, file: &str) -> Option;
-// }
+ // read a file to string
+ async fn read_file_to_string(&self, file: &str) -> Option;
+}
impl_event! {
FormData;