Questo è quello che ho:Utilizzando discesa bootstrap con Om
(defn view [cursor owner]
(reify
om/IDidMount
(did-mount [_]
(-> (js/$ ".dropdown-toggle")
(.dropdown)))
om/IRender
(render [_]
(dom/div #js {:className "dropdown"}
(dom/button #js {:className "btn btn-default dropdown-toggle"
:type "button"
:id "dropdownMenu1"} "Dropdown" (dom/span #js {:className "caret"}))
(dom/ul #js {:className "dropdown-menu"
:role "menu"
:ariaLabelledby "dropdownMenu1"}
(dom/li #js {:role "presentation"}
(dom/a #js {:role "menuitem"
:tabIndex "-1"
:href "#"} "Action"))
(dom/li #js {:role "presentation"}
(dom/a #js {:role "menuitem"
:tabIndex "-1"
:href "#"} "Another action")))))))
Il problema è che una volta che la discesa è aperto, non nasconde più come dovrebbe essere quando si clicca su di essa o da qualche altra parte. Anche i tasti non funzionano. Credo che manchi qualcosa di importante qui, cosa potrebbe essere? Sto usando bootstrap 3.1.1 e jquery 1.11.0.
Grazie.
Grazie Anna! Hai ragione, non ho bisogno di IDidMount. Ma anche io stavo sbagliando tutto il tempo. Seguendo la convenzione di ReactJs stavo provando con: dataToggle invece di: data-toggle. Ecco perché stavo facendo affidamento su JavaScript invece degli attributi dei dati (quindi IDidMount) ... – roboli
Tutto è kebab nel mondo Om :-) –
@AnnaPawlicka Non proprio "tutto" è kebab-case:: className e: onClick (anche se io usa om-tools, che mi permette di scrivere: class e: on-click :-P) – Dan