HarmonyOS 鸿蒙Next如何能够修改弹窗中的点击事件?

发布于 1周前 作者 wuwangju 来自 鸿蒙OS

HarmonyOS 鸿蒙Next如何能够修改弹窗中的点击事件?

// xxx.ets

class bottom {

  bottom: number = 50

}

let bott: bottom = new bottom()

@Entry

@Component

struct TextPickerExample {

  naClick = () => {

    console.log(“原本点击事件”)

  };

  @Builder

  customBuilder() {

    Column() {

      Text(“修改点击事件”).fontSize(30).onClick(() => {

        this.naClick = () => {

          console.log(“修改点击事件”)

        }

      })

    }

  }

  build() {

    Column() {

      Text(‘弹窗’).fontSize(30).onClick(() => {

        let customDialog = new CustomDialogController({

          builder: NormalDialog({

            customBuilder: this.customBuilder.bind(this),

            onNegativeListener: this.naClick.bind(this)

          }),

          autoCancel: false,

          cornerRadius: 6,

          maskColor: “#99000000”,

          alignment: DialogAlignment.Center

        })

        customDialog.open();

      })

    }

  }

}

@CustomDialog

export struct NormalDialog {

  @BuilderParam customBuilder: () => void;

  controller?: CustomDialogController

  onNegativeListener: () => void = () => {

  }

  build() {

    Column() {

      this.customBuilder()

      Text(“测试”).fontSize(30).onClick(this.onNegativeListener.bind(this))

    }

  }

}

1 回复

在HarmonyOS鸿蒙Next中,修改弹窗中的点击事件通常涉及以下几个步骤:

首先,你需要创建一个自定义弹窗,这可以通过使用@CustomDialog装饰器来实现。在自定义弹窗的结构中,你可以定义弹窗的内容以及按钮等元素。

其次,为弹窗中的按钮设置点击事件。这通常是在自定义弹窗的build方法内部,通过给按钮添加.onClick事件处理器来完成的。在事件处理器中,你可以编写希望在按钮被点击时执行的逻辑。

例如,如果你有一个“确认”按钮和一个“取消”按钮,你可以分别为它们设置不同的点击事件,以实现不同的功能。

最后,确保你的自定义弹窗已经通过CustomDialogController类正确显示,并且点击事件已经与相应的逻辑绑定。

如果以上步骤正确无误,但问题依旧存在,可能是其他代码或配置影响了弹窗的点击事件。此时,建议检查相关代码和配置,或参考HarmonyOS的官方文档和开发者社区以获取更多帮助。如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部