当前位置:   article > 正文

零基础开始学习鸿蒙开发-继页面跳转后,页面参数的传递与接收。_鸿蒙参数传入其他界面

鸿蒙参数传入其他界面

目录

1.首先,我们简单的创建两个页面,即ToParamPage和AccetParamPage。使用方舟编译器可以快速的创建页面,如下图所示,选中Page选项,即可轻松创建Page页面。

2.页面的路由传参主要是通过router.pushUrl方法实现,pushUrl方法有两个参数,一个是url,另一个是params,第一个是要跳转页面的路径(这个路径必须在main_pages.json里面配置才能使用),另外一个就是我们传递的参数了,params是复数,即可以传多个参数。

3.参数的接收,也是通过router来接收的,通过router.getParams()?.['参数']方法来接收传过来的参数。

4.下面是两个页面的完整代码.

5.下面是最终代码运行效果。


1.首先,我们简单的创建两个页面,即ToParamPage和AccetParamPage。使用方舟编译器可以快速的创建页面,如下图所示,选中Page选项,即可轻松创建Page页面。

2.页面的路由传参主要是通过router.pushUrl方法实现,pushUrl方法有两个参数,一个是url,另一个是params,第一个是要跳转页面的路径(这个路径必须在main_pages.json里面配置才能使用),另外一个就是我们传递的参数了,params是复数,即可以传多个参数。

  1. 代码示例:
  2. router.pushUrl({url:'pages/AccetParamPage',params:{
  3. list:this.list,
  4. title:this.title
  5. }})

3.参数的接收,也是通过router来接收的,通过router.getParams()?.['参数']方法来接收传过来的参数。

@State title:string = router.getParams()?.['title'];

4.下面是两个页面的完整代码.

  1. ToParamPage.ets代码示例:
  2. import router from '@ohos.router';
  3. @Entry
  4. @Component
  5. struct ToParamPage {
  6. @State list:string[] =['西瓜','哈密瓜','葡萄'];
  7. @State title:string ='水果类';
  8. build() {
  9. Row() {
  10. Column() {
  11. Button('传参').width("50%").height("100")
  12. .fontSize(50)
  13. .fontWeight(FontWeight.Bold)
  14. .onClick(()=>{
  15. router.pushUrl({url:'pages/AccetParamPage',params:{
  16. list:this.list,
  17. title:this.title
  18. }})
  19. })
  20. }
  21. .width('100%')
  22. }
  23. .height('100%')
  24. }
  25. }
  26. AccetParamPag代码示例:
  27. import router from '@ohos.router';
  28. @Entry
  29. @Component
  30. struct AccetParamPage {
  31. @State list:string[] = router.getParams()?.['list'];
  32. @State title:string = router.getParams()?.['title'];
  33. @Builder itemHeaer(title:string){
  34. Span(title).fontColor(Color.Green).fontWeight(FontWeight.Bold).fontSize(20)
  35. }
  36. build() {
  37. Row() {
  38. Column() {
  39. List(){
  40. ForEach(this.list,item=>{
  41. ListItemGroup({header:this.itemHeaer(this.title)}){
  42. ListItem(){
  43. Text(item).fontColor(Color.Red).fontSize(16).fontWeight(FontWeight.Normal)
  44. }
  45. }
  46. },item=>item)
  47. }
  48. }.margin({left:150,right:150})
  49. .alignItems(HorizontalAlign.Center)
  50. .padding("10")
  51. .width('100%')
  52. }
  53. .height('100%')
  54. }
  55. }

5.下面是最终代码运行效果。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/318610
推荐阅读
相关标签
  

闽ICP备14008679号