订购的试剂成分跨越其计算的大小

安东·哈拉德(Anton Harald)

我正在寻找一种设计试剂组件的方法,该组件列出按其实际(计算的)宽度排序的单词,这些单词在浏览器中呈现时将具有的宽度。(不是字符数)。

html元素的实际宽度可以通过JavaScript方法确定offsetWidth但是,看起来为了获得结果,必须将元素附加到DOM中的某个位置。

因此,可以通过以下方法强制解决此问题:

  • 创建一个临时的,不可见的容器元素
  • 附加一些包含单词的跨度
  • 按它们的offsetWidth排序
  • 相应地重新添加它们

反应/试剂方法是什么?

蒂莫西·普拉特利(Timothy Pratley)

一种方法是使用:ref功能

(defn sorted-by-width []
  (let [ss (reagent/atom {"the" nil
                          "quick" nil
                          "brown" nil
                          "fox" nil})]
    (fn a-sorted-by-width []
      [:ul
       (for [[s width] (sort-by val @ss)]
         ^{:key s}
         [:li
          [:span
           {:ref (fn text-ref [elem]
                   (when elem
                     (swap! ss assoc s (.-width (.getBoundingClientRect elem)))))
            :visibility (if width "visible" "hidden")}
           s]])])))

ref函数可以记录有关元素的信息。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

TSQL订购跨越午夜

来自分类Dev

clojurescript原子的哪些变化导致试剂成分重新呈现?

来自分类Dev

clojurescript原子的哪些变化导致试剂成分重新呈现?

来自分类Dev

为什么无法在Let中定义试剂成分的状态?

来自分类Dev

R:向后主成分计算

来自分类Dev

R:向后主成分计算

来自分类Dev

按大小订购postgres bytea

来自分类Dev

通过其DateTime属性订购对象列表

来自分类Dev

按其关联数量的订购模型

来自分类Dev

成分方差的矢量化计算

来自分类Dev

创建一个std :: array,其大小在运行时计算

来自分类Dev

如何使相对div跨越其绝对内容?

来自分类Dev

跨越整个 html 页面的 HTML5 画布大小

来自分类Dev

计算经过php的时间-跨越24小时

来自分类Dev

为向量中的每个项目计算跨越向量中值的行数

来自分类Dev

计算经过php的时间-跨越24小时

来自分类Dev

按年份提取天数,其开始日期和结束日期可能跨越或可能不跨越几年

来自分类Dev

在Matlab中使用主成分分析(PCA)计算和绘制主成分

来自分类Dev

使用Matlab中的不同函数计算的主成分

来自分类Dev

如何在新的成分API中键入计算属性?

来自分类Dev

在Excel中,我想计算某些食谱的库存成分

来自分类Dev

TabBarItems并设置其图像大小?

来自分类Dev

计算UIView的内容大小?

来自分类Dev

如何计算向量的大小

来自分类Dev

计算UILabel文本大小

来自分类Dev

计算平均网格大小

来自分类Dev

如何计算CMFCRibbonStatusBarPane的大小

来自分类Dev

计算最佳窗口大小

来自分类Dev

如何计算UIImageView大小?