HarmonyOS 鸿蒙Next中Form kit如何区分不同类别的卡片

HarmonyOS 鸿蒙Next中Form kit如何区分不同类别的卡片 如何在FormExtensionAbility中区分呢?

目前看到的onAddForm中want可以获取NAME_KEY来判断是那种类型,但是onUpdateForm中就没有want参数,这个该如何判断当前需要刷新的卡片是哪种?

3 回复
getFormsInfo:获取设备上当前应用程序的卡片信息,获取卡片名称

[https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-app-form-formprovider-V5#getformsinfo](https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-app-form-formprovider-V5#getformsinfo)

"displayName":"test_base"

卡片id,每个卡片都有唯一的id,更新需要有id参数

在onAddForm中就将卡片的formId保存在一个键值对中,

key是formId,value是卡片A,卡片B

在onUpdateForm使用formId在键值中配对value值

更多关于HarmonyOS 鸿蒙Next中Form kit如何区分不同类别的卡片的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next中,Form kit通过formIdformName来区分不同类别的卡片。formId是卡片的唯一标识符,用于在系统中唯一标识一个卡片实例。formName是卡片的名称,通常用于区分不同类别的卡片。

开发者可以在配置文件config.json中定义卡片的formName,并在代码中通过formId来管理卡片的生命周期和状态。例如,可以在config.json中为不同类别的卡片定义不同的formName,然后在代码中通过formId来识别和操作特定类别的卡片。

具体实现中,formId通常由系统自动生成,而formName由开发者在配置文件中定义。通过formName,开发者可以在代码中区分不同类别的卡片,并根据需要进行不同的处理。

例如,在config.json中定义两个不同类别的卡片:

{
  "forms": [
    {
      "name": "form1",
      "description": "这是第一类卡片",
      "type": "JS",
      "jsComponentName": "Card1"
    },
    {
      "name": "form2",
      "description": "这是第二类卡片",
      "type": "JS",
      "jsComponentName": "Card2"
    }
  ]
}

在代码中,可以通过formName来区分这两类卡片,并根据formId进行具体操作。

总结来说,formId用于唯一标识卡片实例,formName用于区分不同类别的卡片。开发者通过这两个属性来管理和区分不同类别的卡片。

在HarmonyOS鸿蒙Next中,Form Kit通过卡片的jsCardType属性来区分不同类别的卡片。开发者可以在config.json中为每个卡片定义jsCardType,并在代码中根据该属性进行逻辑处理。例如:

{
  "forms": [
    {
      "name": "MyCard",
      "description": "My first card",
      "jsCardType": "myCardType",
      "src": "./pages/MyCard"
    }
  ]
}

在代码中可以通过this.jsCardType获取卡片类型,进行差异化处理。这种方式确保了不同类别的卡片在功能和展示上能够灵活区分。

回到顶部