Clojure 表单 - 按回车键时提交

Clojure form - Submit when press enter

我有一个搜索表单可以为我搜索一些文本。当我在输入框中键入内容时,我必须手动按下一个按钮才能进行搜索。有没有办法让我在键盘上点击 enter 并进行搜索以及按钮?

(defn search-form
  []
  [:div
   [:p "What are you searching for? "
    [:input
     {:type :text
      :name :search
      :on-change #(swap! fields assoc :search (-> % .-target .-value))
      :value (:search @fields)}]]
   [:input
    {:type :submit
     :value :Search
     :on-click #(do
                 (search-function (:search @fields)))}]
   [@search-results]])

这是我目前拥有的代码。如您所见,要调用 search-function 我必须单击按钮。我希望能够按下 enter 并能够按下按钮,两者都会调用 search-function

如有任何帮助,我们将不胜感激。谢谢

您可以为活动尝试 :on-key-down 之类的内容,我想您正在寻找 13 这个号码。 运行 在我阅读 reagent-forms 的源代码时穿过它,尽管我不确定文档在哪里。

我能找到的最接近的文档是 here, though React tests for the Enter key explicitly here