我开始学习 Clojure-Hyperfield/Electric 并开始做一些教育项目(很简单,因为不幸的是没有关于前端开发方面、dom 元素和实现等的详细文档,甚至我没有前端开发经验) 当用户输入新值时我需要一些帮助,我希望在表中看到该值。
(e/defn TableApp []
(e/client
(let [!userName (atom "")]
(let [!email (atom "")]
(dom/input (dom/props {:placeholder "Please write your username..."})
(dom/on "keydown" (e/fn [enter]
(when (= "Enter" (.-key enter))
(when-some [givenValue (contrib.str/empty->nil (-> enter .-target .-value))]
(reset! !userName givenValue)
(set! (.-value dom/node)
(dom/props {:placeholder (str "Given Username= " givenValue)}))))))
)
(dom/input (dom/props {:placeholder "Please write your email..."})
(dom/on "keydown" (e/fn [enter]
(when (= "Enter" (.-key enter))
(when-some [givenValue (contrib.str/empty->nil (-> enter .-target .-value))]
(reset! !email givenValue)
(set! (.-value dom/node)
(dom/props {:placeholder (str "Given email= " givenValue)}))))))
)
(dom/table (dom/props {:class "hyperfiddle"})
(e/client
(dom/tr
(dom/td (dom/text (str "Username: " (e/watch !userName))))
)
(dom/tr
(dom/td (dom/text (str "Email: " (e/watch !email))))
)
)
)
)
)
)
)
当我输入一个值时,我可以在表格中看到它,就像你在这里看到的那样。
在这里,当我输入一个覆盖我的旧变量的值时(我知道我是这样写我的代码的,因为我不知道该怎么做,因为我在这里寻求帮助。(比如表格格式))
最好的方法是什么? (如果可能的话,我想用提交按钮而不是输入来控制值输入,这对我未来的研究来说是一个很好的例子) 非常感谢!