关于Egret项目升级引擎出现的问题

关于Egret项目升级引擎出现的问题

Egret游戏项目,因需求把egret引擎由5.2.16升级为5.4.1,组件 eui.EditableText 出现了失去焦点后马上清空输入框文本的情况。

问题定位

由源码5.4.1的 EditableText.ts 可知,EditableText 失去焦点时会调用 onfocusOut方法
onfocusOut方法

我们由浏览器一步一步调试,可以找到 HTML5Stage 的 textValue 的临时变量一直都是空的。
在这里插入图片描述
在这里插入图片描述
而 textValue 这个值呢,每当输入框输入一个字符都会调用 _onInput方法 保存到这个变量上。
在这里插入图片描述
但是在游戏内的egret源码上,发现上面这个方法永远都不会调用到。因为inputLock 初始是 false ,红框内的 if 判断永远都没法进入。
在这里插入图片描述

最后由游戏内 egret.js 文件发现当前 Egret 的版本号是5.4.0的。
在这里插入图片描述

总结

原来是引擎升级过程中出现了问题,先升级到5.4.0然后再升级到5.4.1,对应的引擎源码文件没有替换。

虽然浪费了一些时间,但是也享受debug的过程,享受找bug的过程。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值