HarmonyOS 鸿蒙Next arkTS自定义组件如何父子间传值

发布于 1周前 作者 vueper 来自 鸿蒙OS

HarmonyOS 鸿蒙Next arkTS自定义组件如何父子间传值

不知道arkTS自定义组件如何父子间传值

2 回复

ArkUI提供了多种装饰器,通过使用这些装饰器,状态变量不仅可以观察在组件内的改变,还可以在不同组件层级间传递,比如父子组件、跨组件层级,也可以观察全局范围内的变化。参考链接如下:
1、https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V13/arkts-state-management-V13

2、https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V13/js-apis-emitter-V13

更多关于HarmonyOS 鸿蒙Next arkTS自定义组件如何父子间传值的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next的arkTS中,自定义组件父子间传值主要通过属性和事件机制实现。

  1. 父组件向子组件传值: 在父组件中,通过子组件的属性(prop)传递数据。例如,假设子组件有一个名为childComponent,且它接受一个名为value的属性,父组件可以这样传递值:

    <childComponent value="{{parentValue}}"></childComponent>
    

    在子组件的@Entry装饰的类中,通过[@Prop](/user/Prop)装饰器接收该值:

    [@Prop](/user/Prop)() value: string;
    
  2. 子组件向父组件传值: 子组件通过事件机制向父组件传递数据。子组件中定义一个事件,并在需要时触发该事件,同时传递数据。例如,子组件中定义一个名为sendValue的事件:

    <input [@input](/user/input)="handleInput" />
    
    [@Event](/user/Event)() sendValue: EventEmitter<string>;
    
    handleInput(event: InputEvent) {
        this.sendValue.emit(event.value);
    }
    

    父组件监听该事件并接收数据:

    <childComponent [@sendValue](/user/sendValue)="handleSendValue"></childComponent>
    
    handleSendValue(value: string) {
        this.receivedValue = value;
    }
    

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

回到顶部