我是 clojurescript 的新手,我的任务是通过单击加号图标来创建一个具有切换列表项要求的过滤器。我已经编写了 css 来在类处于非活动状态时隐藏并在它处于活动状态时显示。我只想知道如何使用 clojurescript 或 om-next 在单击时切换类的正确语法。
或者有什么方法可以在单击兄弟/其他元素(h3)时切换(清空/填充)列表数组。
我试过这样的事情。
[:h3 (:name aggregation) {:on-click #(swap! :className "dInline" "dNone")}]
这是实际的代码。
(defn render-aggregation
[{navigation-dimension :field :as aggregation} toggle-expanded rendered-filters]
(let [show-expanded? (> (count (:values aggregation)) 8)]
[:li {:key (str "k-" navigation-dimension)}
[:h3 (:name aggregation)]
(cond-> (into [:ul.list-unstyled] rendered-filters)
show-expanded?
(conj [:li
[:button.btn.btn-default.btn-xs {:on-click (toggle-expanded aggregation)}
(if (:ui/expanded? aggregation) "show fewer" "show more")]]))]))
实际结果是 h3 元素应在单击时将其类更改为“dNone”