HarmonyOS 鸿蒙Next中Form kit如何区分不同类别的卡片
HarmonyOS 鸿蒙Next中Form kit如何区分不同类别的卡片 如何在FormExtensionAbility中区分呢?
目前看到的onAddForm中want可以获取NAME_KEY来判断是那种类型,但是onUpdateForm中就没有want参数,这个该如何判断当前需要刷新的卡片是哪种?
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通过formId
和formName
来区分不同类别的卡片。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
获取卡片类型,进行差异化处理。这种方式确保了不同类别的卡片在功能和展示上能够灵活区分。