• Lv0
    粉丝0

积分0 / 贡献0

提问1答案被采纳0文章0

作者动态

    如何解决Indexed access is not supported for fields (arkts-no-props-by-index) <ArkTSCheck> :7问题

    haidaowang 显示全部楼层 发表于 3 天前
    【问题描述】
    问题现象和发生的背景
    在【LoginOKPage.ets】文件中输入“@State userName: string = router.getParams()['userNameParam']”后出现了“Indexed access is not supported for fields (arkts-no-props-by-index) <ArkTSCheck> :7”的问题

    相关的代码,截图,日志信息
    【Index.ets】文件
    import { router } from '@kit.ArkUI';

    @Entry
    @Component
    struct Index {
      @State message: string = '欢迎回来,主人!';
      @State userName: string = '';//用户名
      @State passWord: string = '';//密码

      build() {
        RelativeContainer() {
          Text(this.message)
            .id('HelloWorld')
            .fontSize(40)
            .fontWeight(FontWeight.Bold)
            .alignRules({
              center: { anchor: '__container__', align: VerticalAlign.Center },
              middle: { anchor: '__container__', align: HorizontalAlign.Center }
            })

          TextInput({placeholder:'用户名'}).width('90%').margin({top:100})
            .alignRules({
              center: { anchor: '__container__', align: VerticalAlign.Center },
              middle: { anchor: '__container__', align: HorizontalAlign.Center }
            })
            .onChange((value)=>{
              this.userName = value;
            })

          TextInput({placeholder:'密码'}).width('90%').margin({top:200}).type(InputType.Password)
            .alignRules({
              center: { anchor: '__container__', align: VerticalAlign.Center },
              middle: { anchor: '__container__', align: HorizontalAlign.Center }
            })
            .onChange((value)=>{
              this.passWord = value;
            })

          Button('登录')
            .alignRules({
              center: { anchor: '__container__', align: VerticalAlign.Center },
              middle: { anchor: '__container__', align: HorizontalAlign.Center }
            })
            .margin({top:300})
            .onClick(()=>{
              router.pushUrl({
                url:'pages/LoginOKPage',
                params:{
                  userNameParam:this.userName,
                  passWordParam:this.passWord
                }
              })
            })
        }
        .height('100%')
        .width('100%')
      }
    }


    【LoginOKPage.ets】文件
    import { router } from '@kit.ArkUI';

    @Entry
    @Component
    struct LoginOKPage {
      @State message: string = '登录成功';
      @State userName: string = router.getParams()['userNameParam']

      build() {
        RelativeContainer() {
          Text(this.message)
            .id('LoginOKPageHelloWorld')
            .fontSize(50)
            .fontWeight(FontWeight.Bold)
            .alignRules({
              center: { anchor: '__container__', align: VerticalAlign.Center },
              middle: { anchor: '__container__', align: HorizontalAlign.Center }
            })

          Button('返回')
            .alignRules({
              center: { anchor: '__container__', align: VerticalAlign.Center },
              middle: { anchor: '__container__', align: HorizontalAlign.Center }
            })
            .margin({top:100})
            .onClick(()=>{
              router.back()
            })
        }
        .height('100%')
        .width('100%')
      }
    }

    我想要达到的结果


    【运行环境】
    DevEvoStudio版本:devecostudio-windows-5.0.5.300
    SDK版本:API Version 13
    fakename.png

    您尚未登录,无法参与评论,登录后可以:
    参与开源共建问题交流
    认同或收藏高质量问答
    获取积分成为开源共建先驱

    精彩评论1

    hyacinth养花人

    沙发 发表于 前天 17:45
    @State userName: string = (router.getParams() as Record<string, string>).userNameParam

    有提示的错误可以在这里找到相关修改示例: https://docs.openharmony.cn/page ... s-no-props-by-index

    Copyright   ©2023  OpenHarmony开发者论坛  京ICP备2020036654号-3 |技术支持 Discuz!

    返回顶部