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

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

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

10 11 12
## 导入模块

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

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

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

20
主动更新卡片。
21

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

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

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

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

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


47 48
  ```

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

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

更新卡片。

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

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

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

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

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

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

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

86
  ```