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

news/2024/7/21 11:29:30 标签: harmonyos, android, 华为

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

1、点击事件,界面跳转

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

Button('测试光标', { type: ButtonType.Capsule })
            .width(200)
            .height(50)
            .backgroundColor(Color.Grey)
            .fontColor(Color.Red)
            .fontWeight(600)
            .onClick(() => {
              console.log("111111111111111111111111")
              router.push({
                url: 'pages/Listpage'
              })
            })

上述是方式一:

还有方式二:

2、界面跳转,携带参数

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

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

import router from '@ohos.router';

@Entry
@Component
struct Second {
  @State src: string = router.getParams()?.['src'];
  // 页面刷新展示
  ...
}

3,返回上一个界面

返回上一个页面。

router.back();

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

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

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

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

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

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

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

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

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

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

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

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

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

import router from '@ohos.router';

@Entry
@Component
struct Index {
  @State src: string = '';    //生命接收变量

  onPageShow() {
    this.src = router.getParams()?.['srcBack'];    //接收传回来的数据
  }

  // 页面刷新展示
  ...
}

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

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

回显如下:


http://www.niftyadmin.cn/n/5074715.html

相关文章

基于FPGA的数字时钟系统设计

在FPGA的学习中,数字时钟是一个比较基础的实验案例,通过该实验可以更好的锻炼初学者的框架设计能力以及逻辑思维能力,从而打好坚实的基本功,接下来就开始我们的学习吧! 1.数码管介绍 数码管通俗理解就是将8个LED(包含…

pdf文档内容提取pdfplumber、PyPDF2

测试pdfplumber识别效果好些;另外pdf这两个如果超过20多页就没法识别了,结果为空 1、pdfplumber 安装:pip install pdfplumber -i http://mirrors.aliyun.com/pypi/simple --trusted-host mirrors.aliyun.com代码: import pdfpl…

美团代运营优势成都优优聚告诉你!

美团代运营是一种全新的商务服务模式,通过委托美团平台进行运营管理,以提升企业销售业绩和品牌影响力为目标。美团代运营有着许多优势,下面我们来详细了解一下。 首先,美团代运营具有强大的用户流量。作为中国最大的本地生活服务平…

Visual Paradigm导出去除水印技巧

1.首先导出为svg文件格式。 2.然后使用文本编辑器打开。【默认会使用浏览器的打开方式。需要你右键&#xff0c;选择你自己的文本编辑器&#xff0c;没有的话&#xff0c;可以使用文本编辑器打开】 3.找到以下的text标签【一般在文档末尾】多个。 <text x"275" …

全场景流量验证系统 | 京东物流技术团队

本文介绍了一种基于线上流量实现对重构系统进行功能和性能验证的实践方案。针对线上流量如何拦截、如何录制、如何存储、如何回放以及如何发压均作了详细说明&#xff0c;为具有类似需求的读者提供了一种可供参考的思路。 1 业务背景 随着百川项目的启动&#xff0c;中台需要…

2023年中国棋牌桌市场规模及行业前景:更具创意和功能是未来趋势[图]

棋牌桌行业是指涉及棋牌类游戏的桌面制造、销售和相关服务的产业&#xff0c;它包括生产和销售各种类型的棋牌桌&#xff0c;如象棋桌、扑克桌、麻将桌等&#xff0c;以及提供与这些游戏相关的配件和设备。 棋牌桌行业分类 资料来源&#xff1a;共研产业咨询&#xff08;共研网…

如何选择UMLChina服务

服务口号&#xff1a;聚焦最后一公里 斐力庇第斯从马拉松跑回雅典报信&#xff0c;虽然已是满身血迹、精疲力尽&#xff0c;但他知道&#xff1a;没有出现在雅典人民面前&#xff0c;前面的路程都是白费。 学到的知识如果不能最终【用】于您自己的项目之中&#xff0c;也同样是…

Flask与PyQt结合使用时候,阻塞,界面卡死

一.问题起因 做了个服务端, 使用到了python的PYQT6和Flask, PYQT做的是个简单的设置界面: 但是在点击开始运行, 写入flask run的代码的时候, PYQT界面卡死了 代码如下: # 生产环境模式server make_server(0.0.0.0, ser_port, app)server.serve_forever()app.run() 二.问题产…