Electric Clojure - 如何将新值添加到表中?(如表格格式)

Bar*_*teş 5 frontend clojure electric-clojure

我开始学习 Electric Clojure 并开始制作一些教育项目(非常简单,因为不幸的是没有关于前端开发方面、dom 元素和实现等的详细文档,甚至更多我没有前端开发经验)并且我需要当用户输入新值时提供一些帮助我希望在表中看到该值。

(e/defn TableApp []
  (e/client
    (let [!userName (atom "")
          !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))))))))))

Run Code Online (Sandbox Code Playgroud)

当我输入一个值时,我可以在表中看到该值,正如您在此处看到的那样。 在此输入图像描述

在这里,当我输入一个覆盖旧变量的值时(我知道我是这样写代码的,因为我不知道如何做到这一点,因为我在这里寻求帮助。(就像以表格格式一样)) 在此输入图像描述

最好的方法是什么?(如果可能的话,我想用提交按钮而不是输入来控制值输入,这将是我未来学习的一个很好的例子)非常感谢!