js-apis-formextensioncontext.md 3.4 KB
Newer Older
1 2 3
# FormExtensionContext

> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
X
xuzhihao 已提交
4
> 本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
5 6 7

FormExtension的上下文环境,提供FormExtension具有的能力和接口,继承自ExtensionContext。

8 9 10
## 导入模块

```js
Y
yuyaozhi 已提交
11
import FormExtension from '@ohos.application.FormExtension';
12 13
```

Y
yuyaozhi 已提交
14
## FormExtensionContext.updateForm
15 16 17

updateForm(formId: string, formBindingData: formBindingData.FormBindingData, callback: AsyncCallback\<void>): void

18
主动更新卡片。
19

Y
yuyaozhi 已提交
20 21 22
**系统能力**:SystemCapability.Ability.Form

**参数:**
23 24 25 26 27 28 29

  | 参数名          | 类型                                                         | 必填 | 说明                                   |
  | --------------- | ------------------------------------------------------------ | ---- | -------------------------------------- |
  | formId          | string                                                       | 是   | 请求更新的卡片ID。                     |
  | formBindingData | [formBindingData.FormBindingData](js-apis-formbindingdata.md#formbindingdata) | 是   | 卡片新的数据。                         |
  | callback        | AsyncCallback\<void>                                         | 是   | 回调函数,返回接口调用是否成功的结果。 |

Y
yuyaozhi 已提交
30
**示例:**
31

Y
yuyaozhi 已提交
32
  ```js
Y
yuyaozhi 已提交
33 34 35 36 37 38 39 40 41 42 43 44
  import formBindingData from '@ohos.application.formBindingData'
  export default class MyFormExtension extends FormExtension {
      onUpdate(formId) {
          console.log('FormExtension onUpdate, formId:' + formId);
          let obj2 = formBindingData.createFormBindingData({temperature:"22c", time:"22:00"});
          this.context.updateForm(formId, obj2, (data)=>{
              console.log('FormExtension context updateForm, data:' + data);
          });
      }
  }


45 46
  ```

Y
yuyaozhi 已提交
47
## FormExtensionContext.updateForm
48 49 50 51 52

updateForm(formId: string, formBindingData: formBindingData.FormBindingData): Promise\<void>

更新卡片。

Y
yuyaozhi 已提交
53 54 55
**系统能力**:SystemCapability.Ability.Form

**参数:**
56 57 58 59 60 61

  | 参数名          | 类型                                                         | 必填 | 说明               |
  | --------------- | ------------------------------------------------------------ | ---- | ------------------ |
  | formId          | string                                                       | 是   | 请求更新的卡片ID。 |
  | formBindingData | [formBindingData.FormBindingData](js-apis-formbindingdata.md#formbindingdata) | 是   | 卡片新的数据。     |

Y
yuyaozhi 已提交
62
**返回值:**
63 64 65 66 67

  | 类型           | 说明                              |
  | -------------- | --------------------------------- |
  | Promise\<void> | 返回一个Promise,包含接口的结果。 |

Y
yuyaozhi 已提交
68
**示例:**
69

Y
yuyaozhi 已提交
70 71 72 73 74 75 76 77 78 79 80 81 82 83
  ```js
  import formBindingData from '@ohos.application.formBindingData'
  export default class MyFormExtension extends FormExtension {
      onUpdate(formId) {
          console.log('FormExtension onUpdate, formId:' + formId);
          let obj2 = formBindingData.createFormBindingData({temperature:"22c", time:"22:00"});
          this.context.updateForm(formId, obj2)
              .then((data)=>{
                  console.log('FormExtension context updateForm, data:' + data);
              }).catch((error) => {
              console.error('Operation updateForm failed. Cause: ' + error);});
      }
  }

84
  ```