我有一个试剂表,并设置了表头的 col-span = 2。
(defn my-table []
[:table.table.table-striped.table-bordered
[:thead
[:tr
[:th "Col1"]
[:th "Col2"]
(doall (for [id @ids]
^{:key id}
[:th {:data-id (id :id)
:col-span "2"}
(str (get id :name))]))]]
[:tbody
(doall (for [i (range (count @table-items))]
(let [table-item (cursor table-items [i])]
^{:key i}
[item-row table-item])))]])
但是在每一行中,见item-row
下文,我正在循环通过一个数据结构来获取该行中拆分列的数据并且遇到了问题。如果这样做,我可以让数据正确呈现
[:div [:td [:span (:id id)]]
[:td [:span (:name id)]]]
我知道这是不正确/无效的 html。
(defn item-row [item]
(fn []
[:tr
[:td [:span (:key1 @item)]]
[:td [:span (:key2 @item)]]
(doall (for [id @ids]
^{:key id}
[[:td [:span (:x id)]]
[:td [:span (:y id)]]]))]))
有谁知道如何:td
在 for 循环中渲染两个元素?我的想法是将这两个:td
元素包装在一个向量中,并让试剂处理渲染拆分列。
(doall (for [id @ids]
^{:key id}
[[:td [:span (:x id)]]
[:td [:span (:y id)]]])
我还收到以下错误:
core.cljs:4793 Uncaught Error: No item [:td "."] in vector of length 2
at Object.cljs$core$vector_index_out_of_bounds [as
vector_index_out_of_bounds]
这与[:td [:span (:y id)]]