HarmonyOS 鸿蒙Next @Prop 父组件传值给子组件的问题

HarmonyOS 鸿蒙Next @Prop 父组件传值给子组件的问题

@Entry @Componentstruct Index { @State text: string = “Father”

build() { Row() { Column() { Text(this.text) .fontSize(50) .fontWeight(FontWeight.Bold) Child({text: this.text}) Button(“click”, {type: ButtonType.Capsule}) .width(“60%”) .height(40) .onClick(() => { this.text = “FatherChange” console.log(“FatherChange”) }) } .width(‘100%’) } .height(‘100%’) } }

@Componentstruct Child{ @Prop text: string

build(){ Column(){ Text(this.text) .fontSize(20) .fontWeight(FontWeight.Bold) Button(“childButon”, {type: ButtonType.Capsule}) .onClick(() => { this.text = “childButongIsChange” }) } } }

当我第一次点击父组件的button按钮时,父子组件的Text内容时同步变化的。然后我点击子组件的button按钮时子组件的Text内容是变化的。到这里一切正常。

但当我继续点击父组件的button按钮时,此时子组件的Text内容是无法更新的,无论我点击多少次的父组件的button按钮,子组件的Text始终没有变化。

请问是我的代码出了问题了吗?

开发工具是:DevEco Studio 3.1.1 Release


更多关于HarmonyOS 鸿蒙Next @Prop 父组件传值给子组件的问题的实战教程也可以访问 https://www.itying.com/category-93-b0.html

5 回复
.onClick(() => {
    if (this.text == "FatherChange") {
        this.text = "FatherChange1"
    } else {
        this.text = "FatherChange"
    }
    console.log("FatherChange")
})

父组件中每次点击改变内容不一样才可以识别

更多关于HarmonyOS 鸿蒙Next @Prop 父组件传值给子组件的问题的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


问题解决了。忽略了父组件的变量值没有变化了。

操作的时候 尽量别让子组件 去改变值,这是不和规定的,尽量通知父组件 让父组件去改变值,

我试了试,也不行。。。也不知道,蹲一个答案学习学习

姓名: 张三
职业: 软件工程师
所在地: 北京

技能:

  • Python
  • Java
  • C++

项目经验:

  • 项目一
    • 描述: 使用Python开发了一个自动化测试框架
    • 负责内容: 设计并实现自动化测试用例
  • 项目二
    • 描述: 开发了一个基于Java的Web应用
    • 负责内容: 前端页面设计与后端逻辑实现
回到顶部