harmony 鸿蒙FormLink

  • 2023-10-30
  • 浏览 (419)

FormLink

The <FormLink> component is provided for interactions between static widgets and widget providers. It supports three types of events: router, message, and call.

NOTE

  • This component is supported since API version 10. Updates will be marked with a superscript to indicate their earliest API version.

  • This component can be used only in static widgets.

Required Permissions

None

Child Components

This component supports only one child component.

APIs

FormLink(value: { action: string; moduleName?: string; bundleName?: string; abilityName: string; params: Object; })

Parameters

Name Type Mandatory Description
action string Yes Action type.
- “router”: redirection to the specified UIAbility of the widget provider.
- “message”: custom message. If this type of action is triggered, the onFormEvent() lifecycle callback of the provider FormExtensionAbility is called.
- “call”: launch of the widget provider in the background. If this type of action is triggered, the specified UIAbility (whose launch type must be singleton) of the widget provider is started in the background, but not displayed in the foreground. This action type requires that the widget provider should have the ohos.permission.KEEP_BACKGROUND_RUNNING permission.
NOTE
Whenever possible, avoid using the router event to refresh the widget UI.
moduleName string No Name of the target module when action is “router” or “call”. This parameter is optional.
bundleName string No Name of the target bundle when action is “router” or “call”. This parameter is optional.
abilityName string Yes Name of the target UIAbility when action is “router” or “call”. This parameter is mandatory.
params Object Yes Additional parameters carried in the current action. The value is a key-value pair in JSON format. For the “call” action type, the method parameter (mandatory) must be set and its value type must be string.
NOTE
Whenever possible, avoid using params to transfer internal state variables of widgets.

Attributes

The universal attributes are supported.

Events

The universal events are not supported.

Example

@Entry
@Component
struct FormLinkDemo {
  build() {
    Column() {
      Text("This is a static widget").fontSize(20).margin(10)

      // The router event is used to redirect to the specified UIAbility from the static widget.
      FormLink({
        action: "router",
        abilityName: "EntryAbility",
        params: {
          'message': 'testForRouter' // Customize the message to send.
        }
      }) {
        Button("router event").width(120)
      }.margin(10)


      // The message event triggers the onFormEvent callback of FormExtensionAbility.
      FormLink({
        action: "message",
        abilityName: "EntryAbility",
        params: {
          'message': 'messageEvent' // Customize the message to send.
        }
      }) {
        Button("message event").width(120)
      }.margin(10)


      // The call event is used to call the specified method in the UIAbility.
      FormLink({
        action: "call",
        abilityName: "EntryAbility",
        params: {
          'method': 'funA', // Set the name of the method to call in the EntryAbility.
          'num': 1 // Set other parameters to be passed in.
        }
      }) {
        Button("call event").width(120)
      }.margin(10)
    }
    .justifyContent(FlexAlign.Center)
    .width('100%').height('100%')
  }
}

FormLink

你可能感兴趣的鸿蒙文章

harmony 鸿蒙ArkTS-based Declarative Development Paradigm

harmony 鸿蒙@ohos.multimedia.avCastPicker (AVCastPicker)

harmony 鸿蒙Property Animation

harmony 鸿蒙Enums

harmony 鸿蒙Blank

harmony 鸿蒙Button

harmony 鸿蒙CalendarPicker

harmony 鸿蒙Checkbox

harmony 鸿蒙CheckboxGroup

harmony 鸿蒙DataPanel

0  赞