2015-12-23 67 views
0

如何將按鈕設置爲特定寬度?這是到目前爲止,我已經嘗試的事情之一:賦予按鈕特定寬度的語法

(:require [om.next :as om :refer-macros [defui]] 
      [om.dom :as dom]) 

(defui HelloWorld 
    Object 
(render [this] 
    (dom/button #js {:style {:width 300}} (get (om/props this) :title)))) 

設置按鈕的標題工作正常,可能是不相關的這個問題。我已經把它留下了,因爲這是一個典型的做法,並且放置屬性可能很重要。

雷音project.clj文件具有這些依賴關係:

[org.clojure/clojure "1.7.0"] 
[org.clojure/clojurescript "1.7.170"] 
[org.omcljs/om "1.0.0-alpha24"] 
[figwheel-sidecar "0.5.0-SNAPSHOT" :scope "test"] 

回答

1

我認爲這個問題是由於#js只能在頂層工作。 #JS將在頂層地圖或矢量[]上工作,但是如果您將數據嵌套爲值,則需要爲每個嵌入對象包含額外的#js調用。

你真正需要的是

(:require [om.next :as om :refer-macros [defui]] 
      [om.dom :as dom]) 

(defui HelloWorld 
    Object 
(render [this] 
    (dom/button #js {:style #js {:width 300}} (get (om/props this) :title)))) 

看一看this後使用#js。爲了便於閱讀,而不是嵌套的#js調用,您通常更適合使用clj-> js

0

我得到了它的這項工作:

(defui HelloWorld 
    Object 
    (render [this] 
    (dom/button (clj->js {:style {:width 300}}) (get (om/props this) :title)))) 

注意使用clj->js