use leptos::{ IntoView, component, html::Input, prelude::{ClassAttribute, ElementChild, Get, NodeRef, OnAttribute, Set, signal}, view, web_sys::SubmitEvent, }; use crate::components::{input_placeholder::InputPlaceholder, site_header::SiteHeader}; #[component] pub fn Buy() -> impl IntoView { let (product_barcode, set_product_barcode) = signal(String::new()); let input_element: NodeRef = NodeRef::new(); let on_submit = move |ev: SubmitEvent| { // stop the page from reloading! ev.prevent_default(); let value = input_element .get() // event handlers can only fire after the view // is mounted to the DOM, so the `NodeRef` will be `Some` .expect(" to exist") .value(); set_product_barcode.set(value); }; view! {

"Name is: " {product_barcode}

} }