Clojurescript - 文本框中的占位符
Clojurescript - Placeholder in text box
我想在我的主页上创建一个文本框,所以我写了以下内容:
(defn home-page []
[:div.container
[:h1 "Enter Code:"]
[c/text-input "id" :id "enter code" fields]])
其中 c/text-input 包含在我需要的另一个名称空间 (common.cljs) 中。
common.cljs命名空间中的代码如下:
(defn input [type id placeholder fields]
[:input.form-control.input-lg
{:type type
:placeholder placeholder
:value (id @fields)
:on-change #(swap! fields assoc id (-> % .-target .-value))}])
(defn form-input [type label id placeholder fields optional?]
[:div.form-group
[:label label]
(if optional?
[input type id placeholder fields]
[:div.input-group
[input type id placeholder fields]
[:span.input-group-addon
"✱"]])])
(defn text-input [label id placeholder fields & [optional?]]
(form-input :text label id placeholder fields optional?))
但是我的问题出现了,如果我从我的代码中删除 [c/text-input "id" :id "enter code" fields]]
,网页会正常加载。使用这行代码什么也不会发生。
我无法找出我的错误,我们将不胜感激。
(P.S 如果有帮助的话,我正在使用 luminus 框架)
查看您发布的代码,看起来 fields
应该是一个包含 map
的 atom
,其中字段的值将存储在 [=14] 键下=].代码应该大致如下所示:
(defn home-page []
(let fields (atom {})
[:div.container
[:h1 "Enter Code:"]
[c/text-input "id" :id "enter code" fields]]))
我希望这对您有所帮助。
我想在我的主页上创建一个文本框,所以我写了以下内容:
(defn home-page []
[:div.container
[:h1 "Enter Code:"]
[c/text-input "id" :id "enter code" fields]])
其中 c/text-input 包含在我需要的另一个名称空间 (common.cljs) 中。
common.cljs命名空间中的代码如下:
(defn input [type id placeholder fields]
[:input.form-control.input-lg
{:type type
:placeholder placeholder
:value (id @fields)
:on-change #(swap! fields assoc id (-> % .-target .-value))}])
(defn form-input [type label id placeholder fields optional?]
[:div.form-group
[:label label]
(if optional?
[input type id placeholder fields]
[:div.input-group
[input type id placeholder fields]
[:span.input-group-addon
"✱"]])])
(defn text-input [label id placeholder fields & [optional?]]
(form-input :text label id placeholder fields optional?))
但是我的问题出现了,如果我从我的代码中删除 [c/text-input "id" :id "enter code" fields]]
,网页会正常加载。使用这行代码什么也不会发生。
我无法找出我的错误,我们将不胜感激。
(P.S 如果有帮助的话,我正在使用 luminus 框架)
查看您发布的代码,看起来 fields
应该是一个包含 map
的 atom
,其中字段的值将存储在 [=14] 键下=].代码应该大致如下所示:
(defn home-page []
(let fields (atom {})
[:div.container
[:h1 "Enter Code:"]
[c/text-input "id" :id "enter code" fields]]))
我希望这对您有所帮助。