• Lv9
    粉丝0

积分2 / 贡献0

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

作者动态

    向子组件传递函数报错

    stevending1st 显示全部楼层 发表于 2024-11-23 11:34:18

    【问题描述】

    1. 介绍问题现象和发生的背景 当向子组件传递一个函数,报错

    2. 相关的代码(请勿使用截图)

      @Entry
      @Component
      struct TestPage {
        submit: () => boolean = () => {
          return true
        }
      
        build() {
          RelativeContainer() {
            MyRichEditor({
              onTest: this.submit
            })
          }
          .height('100%')
          .width('100%')
        }
      }
      
      @Component
      struct MyRichEditor {
        @Prop onTest: () => boolean;
        controller: RichEditorController = new RichEditorController();
      
        build() {
          Column() {
            RichEditor({ controller: this.controller })
              .border({width: "1"})
              .onWillChange(() => {
                if (this.onTest) {
                  return this.onTest()
                } else {
                  return true
                }
              })
          }
        }
      }
    3. 运行结果、错误截图

      Illegal variable value error with decorated variable undefined 'onTest': failed validation: 'undefined, null, number, boolean, string, or Object but not function, not V2 @ObservedV2 / @Trace class, and makeObserved return value either, attempt to assign value type: 'function', value: 'undefined'!
    4. 我尝试过的解决方法和结果

    5. 我想要达到的结果

      正常运行

    【运行环境】

    硬件: ROM版本: DevEvoStudio版本: SDK版本:12

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

    精彩评论1

    马迪

    沙发 发表于 2024-11-23 19:11:15
      把  
    @Prop onTest: () => boolean;
    改成
    onTest?: () => boolean;
    试试?

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

    返回顶部