萌新求助,为什么这个地方控制显隐无法实现

import { _decorator, Component, Label, Node } from ‘cc’;

const { ccclass, property } = _decorator;

@ccclass(‘taskgm’)

export class taskgm extends Component {

@property (Node) taskbtn:Node

@property (Node) taskList:Node

@property (Label) nextDayLabel:Label

@property (Node) nextDayBtn:Node

private useday:number =1

start() {

    this.taskList.active =false;

    this.taskbtn.on(Node.EventType.TOUCH_END,this.toggleMenu,this)

    this.nextDayBtn.on(Node.EventType.TOUCH_END,this.updateDayTime,this)

}

toggleMenu(){

    this.taskList.active =!this.taskList.active //成功显示

}

updateDayTime(){

    this.useday +=1;

    let comp =this.nextDayLabel.getComponent(Label);

    comp.string = "第"+this.useday+"天";

    this.taskList.active =false //无法实现

}

update(deltaTime: number) {

   

}

}

我有这么一段代码,点击一个按钮taskbtn,展示一个菜单taskList,在toggleMenu方法里,这个显隐功能正常显示,现在有一个按钮nextDayBtn在taskList菜单里,我希望点击这个nextDayBtn按钮,让菜单隐藏,但是这个功能无法实现,有木有大佬能帮我看看为什么 :sob:

我测试了一下,发现这个按钮在这个菜单taskList里面的时候,才会出现问题,如果这个按钮是在外面,就不会影响菜单taskList的显隐,有人知道这块是什么逻辑吗,有什么技巧能够规避这个问题吗,大佬们 :sob:

没复现你的情况,你可以在start添加

this.taskList.on("active-in-hierarchy-changed", () => {
   debugger
})

断点看看堆栈都是从哪改的显隐性

点击未生效 打印下

updateDayTime函数有没有执行,猜测你菜单里的按钮的被别的点击事件挡住了