Harmony Next开发Navigation页面跳转

概述

Harmony Next开发Navigation页面跳转

知识点

  1. Navigation通过NavPathStack路由跳转
  2. Navigation以弹窗的方式打开NavDestination页面
  3. Menu配置

组件

NavTest

@Entry
@Component
struct NavTest {@Provide pageInfos: NavPathStack = new NavPathStack()@Builder PageMap(name: string){if (name === "pageOne") {PageOneBuilder()} else if (name === "pageTwo") {PageTwoBuilder()} else if(name==='pageDialog') {pageDialogBuilder()}}build() {Column(){Navigation(this.pageInfos){Column({ space: 20 }){Text('Navigation Demo').fontSize(30)Button("PageOne").onClick(()=>{this.pageInfos.pushPathByName('pageOne', null)})Button("PageTwo").onClick(()=>{this.pageInfos.pushPathByName('pageTwo', null)})Button("弹出页面").onClick(()=>{this.pageInfos.pushPathByName('pageDialog', null)})}.width('100%')}.mode(NavigationMode.Stack).title("Navigation").menus([{value: "设置", icon: "pages/startIcon.png", action: ()=> {}},{value: "更多", icon: "./image/ic_public_add.svg", action: ()=> {}},{value: "菜单1", icon: "./image/ic_public_add.svg", action: ()=> {}},{value: "菜单2", icon: "./image/ic_public_add.svg", action: ()=> {}},{value: "菜单3", icon: "./image/ic_public_add.svg", action: ()=> {}},]).height('100%').width('100%').navDestination(this.PageMap).titleMode(NavigationTitleMode.Mini)}}
}

PageOne


@Builder
export function PageOneBuilder(){pageOneTmp()
}@Component
export struct pageOneTmp {@Consume('pageInfos') pageInfos: NavPathStackbuild() {NavDestination() {Column({ space: 10 }) {Text("这是PageOne页面")Button('Back').onClick(() => {this.pageInfos.pop()})}.width('100%').height('100%')}.title('NavDestinationTitle1').onBackPressed(() => {const popDestinationInfo = this.pageInfos.pop()console.log('pop' + '返回值' + JSON.stringify(popDestinationInfo))return true})}
}

PageTwo

@Component
export struct PageTwoBuilder {@Consume('pageInfos') pageInfos: NavPathStackbuild() {NavDestination() {Column({ space: 10 }) {Text("这个PageTwo页面")}.width('100%').height('100%')}.title('NavDestinationTitle2').onBackPressed(() => {const popDestinationInfo = this.pageInfos.pop()console.log('pop' + '返回值' + JSON.stringify(popDestinationInfo))return true})}
}

pageDialog


@Builder
export function pageDialogBuilder(){pageDialog()
}@Component
struct pageDialog {@Consume('pageInfos') pageInfos: NavPathStackbuild() {NavDestination() {Column({ space: 20 }) {Text('弹出页面测试, Dialog NavDestination').fontSize(20)Button('Back').onClick(() => {this.pageInfos.pop()})}.justifyContent(FlexAlign.Center).backgroundColor(Color.White).borderRadius(10).width('100%').height('100%')}.hideTitleBar(true).mode(NavDestinationMode.DIALOG).width('100%').height('100%').backgroundColor('rgba(0,0,0,0.5)').border({ style: BorderStyle.Solid, color: 'red', width: 1 })}
}

效果图

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/889687.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

大模型系列4--开源大模型本地部署到微调(WIP)

背景 一直想真正了解大模型对硬件资源的需求,于是准备详细看一篇视频,将核心要点总结记录下。本文内容参考视频:保姆级教程:6小时掌握开源大模型本地部署到微调,感谢up主 训练成本 训练 > 微调 > 推理训练GPT…

仿《公主连结》首页场景的制作(附资源包)

先看效果(主要实现点击按钮切换图片,未解锁按钮弹出提示,点击过后播放动画) 预备知识(单例模式,携程, Resources.Load加载资源的方式) 资源准备(底部按钮7个图标&#x…

Redis - 集合 Set 及代码实战

Set 类型 定义:类似 Java 中的 HashSet 类,key 是 set 的名字,value 是集合中的值特点 无序元素唯一查找速度快支持交集、并集、补集功能 常见命令 命令功能SADD key member …添加元素SREM key member …删除元素SCARD key获取元素个数SI…

基于Llamaindex的网页内容爬取实战

目的 本文不关注如何解析网页 html 元素和各种 python 爬虫技术,仅作为一种网页数据的预处理手段进行研究。Llamaindex 也并不是爬虫技术的集大成者,使用它是为了后续的存查一体化。 安装依赖 pip install llama-index-readers-web # pip install llam…

《九重紫》逐集分析鉴赏第一集(下)

主标题:《九重紫》一起追剧吧 副标题:《九重紫》逐集分析鉴赏第一集(下)/《九重紫》逐集分析鉴赏1 接上回分解,窦昭和宋墨都安置城外万佛寺 交谈没一会儿,天还未亮,兵临寺下 记住这个人&…

Introduction to NoSQL Systems

What is NoSQL NoSQL database are no-tabular非數據表格 database that store data differently than relational tables 其數據的存儲方式與關係型表格不同 Database that provide a mechanism機制 for data storage retrieval 檢索 that is modelled in means other than …

图论【Lecode_HOT100】

文章目录 1.岛屿数量No.2002.腐烂的橘子No.9943.课程表No.2074.实现Trie(前缀树)No.208 1.岛屿数量No.200 class Solution {public int numIslands(char[][] grid) {if (grid null || grid.length 0) {return 0;}int numIslands 0;int rows grid.len…

【深度学习量化交易9】miniQMT快速上手教程案例集——使用xtQuant获取基本面数据篇

我是Mr.看海,我在尝试用信号处理的知识积累和思考方式做量化交易,应用深度学习和AI实现股票自动交易,目的是实现财务自由~目前我正在开发基于miniQMT的量化交易系统。 在前几篇的文章中讲到,我正在开发的看海量化交易系统&#xf…

网络层IP协议(TCP)

IP协议: 在了解IP协议之前,我们市面上看到的"路由器"其实就是工作在网络层。如下图: 那么网络层中的IP协议究竟是如何发送数据包的呢? IP报头: IP协议的报头是比较复杂的,作为程序猿只需要我们重…

Xcode

info.plist Appearance Light 关闭黑暗模式 Bundle display name 设置app名称,默认为工程名 Location When In Use Usage Description 定位权限一共有3个key 1.Privacy - Location When In Use Usage Description 2.Privacy - Location Always and When In U…

【CSS in Depth 2 精译_079】第 13 章:渐变、阴影与混合模式概述 + 13.1:CSS 渐变效果(一)——使用多个颜色节点

当前内容所在位置(可进入专栏查看其他译好的章节内容) 第四部分 视觉增强技术 ✔️【第 13 章 渐变、阴影与混合模式】 ✔️ 13.1 渐变 ✔️ 13.1.1 使用多个颜色节点(一) ✔️13.1.2 颜色插值13.1.3 径向渐变13.1.4 锥形渐变 文…

地下管线三维建模,市面上有哪些软件

1. 地下管线:城市“生命线” 地下管线是城市的重要基础设施,包括供水、排水、燃气、热力、电力、通信等管线,它们如同城市的“生命线”,支撑着城市的正常运转。如果缺乏完整和准确的地下管线信息,施工破坏地下管线的事…

说说你对java lambda表达式的理解?

大家好,我是锋哥。今天分享关于【说说你对java lambda表达式的理解?】面试题。希望对大家有帮助; 说说你对java lambda表达式的理解? 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 Java Lambda 表达式是 Java 8 引入的一项重要特性&#…

网易云信荣获“HarmonyOS NEXT SDK星河奖”

近日,鸿蒙生态伙伴 SDK 开发者论坛在北京举行。 网易云信凭借在融合通信领域的技术创新和鸿蒙生态贡献,荣获鸿蒙生态“HarmonyOS NEXT SDK星河奖”。 会上,华为鸿蒙正式推出 SDK 生态繁荣伙伴支持计划,旨在为 SDK 领域伙伴和开发…

电压调整电路汇总

目录: 一、LDO线性稳压器 1、LM1117 2、NCV33275 3、TLE42764 4、TPS7B67xx-Q1 5、总结 二、DCDC转换器 1、LM2576 2、MC34063A 3、总结 原文件下载移步:LDO-DCDC的仿真与Altium原理图 一、LDO线性稳压器 1、LM1117 LM1117 是一款在 800mA 负…

2024美亚杯资格赛复现

参考: 2024“美亚杯”第十届中国电子数据取证大赛资格赛参考WP 2024美亚杯个人资格赛WP 第十届美亚杯个人赛内存和优盘解答 2024年美亚杯个人赛 资格赛 wp_2024美亚杯个人赛-CSDN博客 历年赛题及解析 - 美亚杯 第一次打,感觉就是题量很大&#xff…

练12:双指针

欢迎大家订阅【蓝桥杯Python每日一练】 专栏,开启你的 Python数据结构与算法 学习之旅! 文章目录 前言1 同向扫描2 反向扫描3 同向扫描与反向扫描的对比4 例题分析2.1 回文判定2.2 美丽的区间2.3 挑选子串 前言 双指针是一种常用于数组和链表类问题中&a…

360智脑张向征:共建可信可控AI生态 应对大模型安全挑战

发布 | 大力财经 人工智能的加速发展,有力推动了社会的数智化转型;与此同时,带来的相关安全风险也日益凸显。近日,在北京市举办的通明湖人工智能开发与应用大会上,360智脑总裁张向征以“大模型安全研究与实践”为主题&…

6.数据建模和数据检索及权限检查

总学习目录请点击下面连接 SAP ABAP开发从0到入职,冷冬备战-CSDN博客 目录 1.数据建模和ABAP字典的透明表 现实产品到数据库数据过程 飞行数据模型 做一个简单的引用。 从旅行社来看: 对于开发人员: 透明表 结构体和透明表 在系统中…

反复出现 idf.py: command not found 的解决办法

版本:ESP-IDF v4.4.8 1. 问题描述 当我们需要经常使用 ESP-IDF 时,总要反复安装编译链、设置环境,不然就会显示 idf.py: command not foundESP-IDF 是乐鑫官方的物联网开发框架,适用于ESP32、ESP32-S、ESP32-C 和ESP32-H 系列S…