- 需求的场景描述(希望解决的问题)
需求是在做一个横向的scroll-view,里面的每个block的内容是长度不一的文字,内容通过接口获得。
为了实时计算scroll-view的宽度,在调用完接口后,用setData设置列表数据,然后在setData中的callback中调用selectorQuery.selectAll获取列表的每个元素block的宽度(内容是长度不一的文字),但是获得的数据的width一直是39,也没有根据内容长短变化。所以scroll-view计算所得的长度不够而显示不全。
- 希望提供的能力
希望请教一下如何获得实时的元素的宽度
如果宽度会受setData的影响,在旧版本基础上你需要将createSelectorQuery放在setData回调里面(第二个参数)。
我也遇到这个问题,在实现走马灯效果的时候,如果一个元素内文字很长,并且超出屏幕宽度,如果文本都是英文就能获得实际(长)宽度,如果文本有中文,获得的宽度就是父元素盒子的宽度(短)
看起来并不是同一个问题。看看你的中文是不是换行了?
确实是换行了 嘻嘻
请检查一下你的 css 中的布局属性设置。
你好,css中,block是块级元素,占满整行。
已经将元素设为 inline-block或inline,但还是不行。问题好像还是宽度没有更新,因为我获取完数据后,在另外一个button的点击事件去获取这些block的宽度,这时就正确了,是block的实际宽度。
那如果是高度的话怎么解决
同样的问题求解答