关于Label一个奇怪的现象

this.label.string = “”;
this.label.node.active = !this.label.node.active;
每次执行完成之后就会恢复到默认字符串,明明清空了,但还是显示默认的。

等待大神解答。

Test212 2.zip (217.3 KB)

@zzf_Cocos 引擎组麻烦解答下

你先自己新建个demo测下是不是真是这段代码的问题。

已经附上demo了,按理说应该后面显示label应该是空才对,但显示的还是默认值。

还真是,设为其他都正常,唯独“”,估计对“”没做处理,官方大佬应该不会在意这种小问题吧;

谢谢反馈,确实是有该问题,会进行跟进排查,后续会反馈到这里

我也有这个问题可看到https://forum.cocos.com/uploads/default/original/3X/4/6/46af1ae1056beeb39f88b74167650f66c4cfdec0.rar

我现在是直接不在编辑器上设置默认值,通过代码控制。。

谢谢反馈,2.1.3 会修复 https://github.com/cocos-creator/engine/pull/5266

2.1.3中仍然存在问题
使用如下:
label.string = “”;
label._updateRenderData(true);
上面设置在创建后延时调用,依然显示为默认设置文本(初始随便设置一个文本)

你试试把
this.label._updateRenderData(true)
改为
this.label._updateRenderData(!!this.label.string)

这样没办法在设置为空后马上获取实际宽度

设置为空后为啥还要获取宽度呢?

动态的排版,所以需要实时获取,只是在设置为空之后就有问题