问题模块 | 框架类型 | 问题类型 | API/组件名称 | 终端类型 | 微信版本 | 基础库版本 |
---|---|---|---|---|---|---|
API和组件 | 小程序 | Bug | selectorQuery.selectAll | 工具 | 6.6.6 | 1.9.94 |
- 需求的场景描述(希望解决的问题)
需求是在做一个横向的scroll-view,里面的每个block的内容是长度不一的文字,内容通过接口获得。
为了实时计算scroll-view的宽度,在调用完接口后,用setData设置列表数据,然后在setData中的callback中调用selectorQuery.selectAll获取列表的每个元素block的宽度(内容是长度不一的文字),但是获得的数据的width一直是39,也没有根据内容长短变化。所以scroll-view计算所得的长度不够而显示不全。
- 希望提供的能力
希望请教一下如何获得实时的元素的宽度
网友回复
LastLeaf:
如果宽度会受setData的影响,在旧版本基础上你需要将createSelectorQuery放在setData回调里面(第二个参数)。
LastLeaf:
请检查一下你的 css 中的布局属性设置。
_立斌:
已经将元素设为 inline-block或inline,但还是不行。问题好像还是宽度没有更新,因为我获取完数据后,在另外一个button的点击事件去获取这些block的宽度,这时就正确了,是block的实际宽度。
梁嘉财、:
那如果是高度的话怎么解决
LastLeaf:
你好,css中,block是块级元素,占满整行。
梁嘉财、:
同样的问题求解答