[]通过getChildByName找到的dialog节点使用show方法后, 再次getChildByName查找, 结果为null

let dialog = new laya.ui.Dialog(); 
dialog.name = 'Dialog'
parentNode.addChild(dialog);
  
let childNode = parentNode.getChildByName('Dialog');
childNode.show();
 
console.log(parentNode.getChildByName('Dialog'));  // 结果为null
 
已邀请:

cuixueying

赞同来自:

Milhouse你好
  这个问题是使用方式不正确导致的
  如果dialog.show方式显示的,需要通过Dialog.manager.dialogLayer.getChildByName的方式去获取dialog的实例
  如果是adddChild.dialog,需要从dialog的父级去获取
所以,当你第一次parentNode.addChild(dialog)的时候,可以通过parentNode.getChildByName去获取到dialog对象的示例,你下面又写了childNode.show,那么在show之后去获取,就需要通过Dialog.manager.dialogLayer.getChidlByName的方式去获取了
 

hepengwei

赞同来自:

console.log(Dialog.manager.dialogLayer);//undefined
全是坑
 

要回复问题请先

商务合作
商务合作