2016-11-02 7 views
0

텍스트 상자에 자리 표시 자 그래서 나는 쓴 다음은 C/텍스트 입력이 다른 네임 스페이스 (common.cljs)에 포함되어Clojurescript는 - 내 홈페이지에서 텍스트 상자를 만들

(defn home-page [] 
    [:div.container  
     [:h1 "Enter Code:"]  
     [c/text-input "id" :id "enter code" fields]]) 

하는 나는 요구했다.

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]]을 제거합니다. 이 코드 라인은 아무 일도 일어나지 않습니다.

나는 내 실수를 이해할 수 없으며 어떤 도움을 주시면 감사하겠습니다.

는 게시 된 코드를 보면

+0

브라우저 콘솔 창에 오류 메시지가 표시 될 수 있습니까? – kp2222

+0

필자는 필드가 사용되지 않는 인수라는 오류가 발생하지만 그 장소에 무엇을 넣어야할지 모르겠다. – rbb

답변

1

(즉, 어떤 도움이 경우 내가 Luminus의 프레임 워크를 사용하고 PS)은이 필드의 값이 저장 될 map을 포함하는 atom해야 fields처럼 보인다 키는 id입니다. 코드는 다음과 같이 다소 비슷해야합니다.

(defn home-page [] 
    (let fields (atom {}) 
    [:div.container 
     [:h1 "Enter Code:"] 
     [c/text-input "id" :id "enter code" fields]])) 

이 정보가 도움이되기를 바랍니다.