如何使用试剂动态更改CSS类名?

mit*_*uog 4 clojurescript reagent

关于试剂.

我需要动态更改一些CSS类名.我该怎么办?

示例代码在这里.

(defn app []
  (let [array [1, 2, 3]]
    (fn []
      [:div
       (for [index array]
         ;; I wanna change this classname like `item-1, item-2, ...`
         ^{:key index} [:div.i-wanna-change-this-classname-dynamically index])])))
Run Code Online (Sandbox Code Playgroud)

Dan*_*ton 8

更改

[:div.i-wanna-change-this-classname-dynamically index]
Run Code Online (Sandbox Code Playgroud)

至

[:div {:class (str “item-” index)} index]
Run Code Online (Sandbox Code Playgroud)

Reagent提供了一种简写语法:div.class1.class2#id,但您也可以在地图中将它们设置为向量中的第一项:div.

还要记住CSS :nth-child()选择器作为动态样式的另一个选项.