Clojurescript:具有基数值的 parseInt-Function

Clojurescript: parseInt-Function with value for radix

我是 Clojure 和 Clojurescript 的新手,这是我的问题。在我的网页中,我有一个输入表单,其中输入的是字符串。为了进一步计算这些输入,输入应该是没有前导零的整数。因此,例如“09”是不允许的。

JavaScript 中的解决方案是:

parseInt("09", 10) // 9

但现在,我正在努力在我的 Clojurescript 代码中转换它。在我的 Clojurescript 代码中,我已经使用了 JavaScript 的 parseInt-Function。这一切正常,但我不知道如何将参数基数添加到此特定代码:

  (defn order
  [round-data]
  (let [form-data (atom {:round/order 0})
        input-data (inputs/make-validated-input
                    {:class-name "order-input"
                     :spec :round/order
                     :placeholder "Bestellung"
                     :transform js/parseInt
                     :on-change #(swap! form-data assoc :round/order (.-value %2))
                     :value-fn #(:round/order @form-data)
                     :invalid-msg "Bitte eine ganze Zahl eingeben."})
        submit-fn (atom #(rf/dispatch [:game/round-commit @form-data]))]

在 :transform 键我尝试了很多东西,比如

:transform #(js/parseInt (.-value %2) 10).

有人可以帮我吗?

:transform #(js/parseInt % 10)

  • %2 表示 anon-fn 的第二个参数 - 所以使用 %1% 作为第一个
  • 无需在转换中再次获取值