js-apis-app-form-formBindingData.md 2.9 KB
Newer Older
Z
zengyawen 已提交
1
# @ohos.app.form.formBindingData (卡片数据绑定类)
Y
yanwenhao 已提交
2 3 4 5 6 7 8 9 10

卡片数据绑定模块提供卡片数据绑定的能力。包括FormBindingData对象的创建、相关信息的描述。

> **说明:**
>
> 本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。

## 导入模块

M
m00512953 已提交
11
```ts
Y
yanwenhao 已提交
12 13 14
import formBindingData from '@ohos.app.form.formBindingData';
```

L
liweifeng 已提交
15 16 17 18 19 20 21 22 23

## ProxyData<sup>10+</sup>

卡片代理刷新订阅数据信息。

**系统能力**:SystemCapability.Ability.Form

| 名称 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
Y
yuyaozhi 已提交
24 25
| key<sup>10+</sup> | string | 是 | 卡片代理刷新的订阅标识,与数据发布者保持一致。|
| subscriberId<sup>10+</sup> | string | 否 | 卡片代理刷新的订阅条件,默认值为当前卡片的formId。|
L
liweifeng 已提交
26 27


Y
yanwenhao 已提交
28 29 30 31 32 33
## FormBindingData

FormBindingData相关描述。

**系统能力**:SystemCapability.Ability.Form

34 35 36
| 名称 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| data | Object | 是 | js卡片要展示的数据。可以是包含若干键值对的Object或者 json 格式的字符串。|
L
liweifeng 已提交
37
| proxies<sup>10+</sup> | Array<[ProxyData](#proxydata)> | 否 | 卡片代理刷新的订阅信息,默认为空数组。|
Y
yanwenhao 已提交
38 39 40 41 42 43 44 45 46 47 48 49 50

## createFormBindingData

createFormBindingData(obj?: Object | string): FormBindingData

创建一个FormBindingData对象。

**系统能力**:SystemCapability.Ability.Form

**参数:**

| 参数名 | 类型           | 必填 | 说明                                                         |
| ------ | -------------- | ---- | ------------------------------------------------------------ |
M
mingxihua 已提交
51
| obj    | Object\|string | 否   | js卡片要展示的数据。可以是包含若干键值对的Object或者 json 格式的字符串。其中图片数据以'formImages'作为标识,内容为图片标识与图片文件描述符的键值对{'formImages': {'key1': fd1, 'key2': fd2}} |
Y
yanwenhao 已提交
52 53 54 55 56 57 58 59 60 61 62


**返回值:**

| 类型                                | 说明                                    |
| ----------------------------------- | --------------------------------------- |
| [FormBindingData](#formbindingdata) | 根据传入数据创建的FormBindingData对象。 |


**示例:**

M
m00512953 已提交
63
```ts
Y
yangzk 已提交
64
import formBindingData from '@ohos.app.form.formBindingData';
Y
yangzk 已提交
65
import fs from '@ohos.file.fs';
X
xuzhihao 已提交
66
import Base from '@ohos.base';
Y
yangzk 已提交
67 68

try {
M
mingxihua 已提交
69
  let fd = fs.openSync('/path/to/form.png');
X
xuzhihao 已提交
70

X
xuzhihao 已提交
71 72 73 74 75
  let createFormBindingDataParam = new Map<string, string | Object>();
  let formImagesParam = new Map<string, Object>();
  formImagesParam.set('image', fd);
  createFormBindingDataParam.set("name", '21°');
  createFormBindingDataParam.set('formImages', formImagesParam);
X
xuzhihao 已提交
76 77

  formBindingData.createFormBindingData(createFormBindingDataParam);
Y
yangzk 已提交
78
} catch (error) {
X
xuzhihao 已提交
79 80 81
  let code = (error as Base.BusinessError).code;
  let message = (error as Base.BusinessError).message;
  console.error(`catch error, code: ${code}, message: ${message}`);
Y
yangzk 已提交
82
}
Y
yuyaozhi 已提交
83
```