ts项目label组件的string获取不到宽

开发版本:2.3.1,浏览器环境,

需求是动态获取文本内容,如果超过宽度限制就换行处理,现在节点的宽度无法取到,导致horizontalAlign与overflow都没生效。

看论坛很多人说用label_updateRenderData(true);,但是在ts环境下,报错_updateRenderData is not a function,

还有人说要等下一帧,下一帧要通过一个计时器吗??我试了不太行啊。

求ts使用label的正确打开方式。

你直接拿节点得width不是吗

拿不到,始终是0

this.label_forceUpdateRenderData(true) 这个可以

2.0 版本用的是 _updateRenderData,后面改名了 _forceUpdateRenderData 函数。但是这都是未公开的私有方法,不建议直接用。如果你只是想触发 _forceUpdateRenderData,可以设置 label.enable = false,再设置为 true, 这样等于触发了一次 _forceUpdateRenderData。

1赞