HarmonyOS 鸿蒙Next 怎样判断传过来的参数是否包括某项

HarmonyOS 鸿蒙Next 怎样判断传过来的参数是否包括某项

if (router.getParams() && (router.getParams() as Record<string, string>).hasOwnProperty('pic')) {
  this.pic = (router.getParams() as Record<string, string>)['pic'];
} else {
  // 处理参数不存在的情况
}

这么写的话语法提示会报
Usage of standard library is restricted (arkts-limited-stdlib) <ArkTSCheck>

更多关于HarmonyOS 鸿蒙Next 怎样判断传过来的参数是否包括某项的实战教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复
import router from '@ohos.router'

class routerParams {
  text: string
  num: string

  constructor(str: string, num: string) {
    this.text = str
    this.num = num
  }
}

@Entry
@Component
struct Index {
  @State message: string = '跳转';

  build() {
    Row() {
      Column() {
        Button(this.message)
          .fontSize(50)
          .fontWeight(FontWeight.Bold)
          .onClick(() => {
            router.pushUrl({ url: 'pages/Second', params: new routerParams("你好", '11111') })
          })
      }
      .width('100%')
    }.height('100%')
  }
}
//Second页面
import router from '@ohos.router'

class params {
  text: string
  num: string

  constructor(str: string, num: string) {
    this.text = str
    this.num = num
  }
}

@Entry
@Component
struct Second {
  @State message: string = (router.getParams() as params).text
  @State params: params = router.getParams() as params

  onPageShow(): void {
    if (this.params && (this.params as ESObject).hasOwnProperty('text')) {
      console.log('111')
    } else {
      console.log('222')
    }
  }

  build() {
    Row() {
      Column() {
        Text(this.message).fontSize(50).fontWeight(FontWeight.Bold)
        Text('数字为:' + this.params.num).fontSize(50).fontWeight(FontWeight.Bold)
      }.width('100%')
    }.height('100%')
  }
}

更多关于HarmonyOS 鸿蒙Next 怎样判断传过来的参数是否包括某项的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS(鸿蒙)系统中,判断传过来的参数是否包括某项,可以通过多种方式实现,具体取决于参数的格式和存储方式。以下是一个基于通用数据结构(例如字典或映射)的简要说明:

  1. 如果参数是键值对形式(如JSON对象或字典):

    • 你可以直接检查字典中是否存在某个键。例如,在JavaScript中,可以使用hasOwnProperty方法;在Python中,可以使用in关键字。
    # 假设params是一个字典
    if '目标键' in params:
        # 参数包含目标键
    
  2. 如果参数是列表形式:

    • 你可以遍历列表,检查是否存在某个元素。例如,在Python中,可以使用in关键字。
    # 假设params是一个列表
    if '目标元素' in params:
        # 参数包含目标元素
    
  3. 对于复杂数据结构:

    • 你可能需要递归地遍历数据结构,检查是否包含某项。这通常涉及到更复杂的逻辑,可能需要定义专门的函数来处理。

请注意,上述方法适用于大多数编程语言。在HarmonyOS开发中,具体实现可能依赖于你使用的编程语言和框架。

如果问题依旧没法解决请联系官网客服,官网地址是 https://www.itying.com/category-93-b0.html

回到顶部