• Android攻城狮学鸿蒙 -- 点击事件


     具体参考:华为官网学习地址

    1、点击事件,界面跳转

    对于一个按钮设置点击事件,跳转页面。但是onclick中,如果pages前边加上“/”,就没法跳转。但是开发工具加上“/”才会给出提示。不知道是不是开发工具的bug。(也是因为自己对于路径这些的使用规则不太清楚。)代码如下:

    1. Button('测试光标', { type: ButtonType.Capsule })
    2. .width(200)
    3. .height(50)
    4. .backgroundColor(Color.Grey)
    5. .fontColor(Color.Red)
    6. .fontWeight(600)
    7. .onClick(() => {
    8. console.log("111111111111111111111111")
    9. router.push({
    10. url: 'pages/Listpage'
    11. })
    12. })

    上述是方式一:

    还有方式二:

    2、界面跳转,携带参数

    在第一个界面中,给button添加点击事件,携带参数,代码如下。

    在第二个界面中,接收数据,代码如下。其中src获取到的就是上一个界面传递过来的值。

    1. import router from '@ohos.router';
    2. @Entry
    3. @Component
    4. struct Second {
    5. @State src: string = router.getParams()?.['src'];
    6. // 页面刷新展示
    7. ...
    8. }

    3,返回上一个界面

    返回上一个页面。

    router.back();

    返回到指定页面。也要注意“pages”前边没有”/“。

    router.back({ url: 'pages/Index' });

    返回上一个页面时候,是否弹出对话框提示,需调用代码:

    1. router.enableBackPageAlert({
    2. message: 'Message Info'
    3. });

    或者因版本不同,api不同,调用下方api

    1. router.enableAlertBeforeBackPage({
    2. message: '确定返回?'
    3. });

    但是,在点击事件中调用上代码,并直接调用关闭方法页面(如下代码)时候,不会弹出对话框。当注释关闭页面方法,点击系统三角返回按钮时候,可以弹出对话框。原因需要继续学习查找。

    router.back();//关闭页面代码

    4、返回上一个页面,并携带数据

    类似于Android的intent携带数据,然后在上一个界面的onActivityResult方法中接收。

    在第二个界面,调用关闭界面方法的代码:

    1. router.back({
    2. url: 'pages/Index',
    3. params: {
    4. srcBack: 'Second页面传来的数据',
    5. }
    6. })

    在第一个界面,接收数据的代码

    1. import router from '@ohos.router';
    2. @Entry
    3. @Component
    4. struct Index {
    5. @State src: string = ''; //生命接收变量
    6. onPageShow() {
    7. this.src = router.getParams()?.['srcBack']; //接收传回来的数据
    8. }
    9. // 页面刷新展示
    10. ...
    11. }

    然后再界面控件中,显示获取到的数据,代码如下:

    1. Text(this.srcBack)
    2. .fontSize($r('app.float.text_size_one')) //获取的资源文件中,文字的大小
    3. .fontWeight(800)

    回显如下:

  • 相关阅读:
    【计算机网络微课堂】5.8 TCP的运输连接管理
    【洛谷 B2001】入门测试题目 题解(模拟算法+顺序结构)
    ISCSI的部署与安装
    Java线程和Go协程
    达梦数据库-锁表
    对角线的输出
    vscode 配置网址
    Xception学习笔记
    String.join()方法的功能简介说明
    C和指针 第13章 高级指针话题 13.6 总结
  • 原文地址:https://blog.csdn.net/Jermmy1207/article/details/133681647