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

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

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

9 10 11
## 导入模块

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

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

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

19
主动更新卡片。
20

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

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

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

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

Y
yuyaozhi 已提交
33
  ```js
Y
yuyaozhi 已提交
34 35 36 37 38 39 40 41 42 43 44 45
  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);
          });
      }
  }


46 47
  ```

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

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

更新卡片。

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

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

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

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

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

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

Y
yuyaozhi 已提交
71 72 73 74 75 76 77 78 79 80 81 82 83 84
  ```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);});
      }
  }

85
  ```