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

Y
yuyaozhi 已提交
3 4 5 6
FormExtensionContext模块是FormExtension的上下文环境,继承自ExtensionContext。

FormExtensionContext模块提供FormExtension具有的接口和能力。

Y
yuyaozhi 已提交
7 8
> **说明:**
> 
9 10
> 本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。  
> 本模块接口仅可在Stage模型下使用。
11

12 13 14
## 导入模块

```js
Y
yuyaozhi 已提交
15
import FormExtension from '@ohos.application.FormExtension';
16 17
```

Y
yuyaozhi 已提交
18
## FormExtensionContext.updateForm
19 20 21

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

22
主动更新卡片。
23

Y
yuyaozhi 已提交
24 25 26
**系统能力**:SystemCapability.Ability.Form

**参数:**
27 28 29 30 31 32 33

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

Y
yuyaozhi 已提交
34
**示例:**
35

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


49 50
  ```

Y
yuyaozhi 已提交
51
## FormExtensionContext.updateForm
52 53 54 55 56

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

更新卡片。

Y
yuyaozhi 已提交
57 58 59
**系统能力**:SystemCapability.Ability.Form

**参数:**
60 61 62 63 64 65

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

Y
yuyaozhi 已提交
66
**返回值:**
67 68 69 70 71

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

Y
yuyaozhi 已提交
72
**示例:**
73

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

88
  ```