• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# FormComponent
2
3提供卡片组件,实现卡片的显示功能。
4
5>  **说明:**
6>
7> - 该组件从API Version 7开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。
8>- 该组件为卡片组件的使用方,对应提供方的使用参考文档[JS服务卡片UI组件](../js-service-widget-ui/js-service-widget-file.md)。
9> - 该组件使用需要具有系统签名。
10> - 本组件为系统接口。
11
12## 权限
13
14ohos.permission.REQUIRE_FORM
15
16
17## 子组件
18
1920
21
22## 接口
23
24FormComponent(value: {
25    id: number;
26    name: string;
27    bundle: string;
28    ability: string;
29    module: string;
30    dimension?: FormDimension;
31    temporary?: boolean
32  })
33
34创建卡片组件,用于显示提供的卡片。
35
36**参数:**
37
38| 参数名    | 参数类型                        | 必填 | 参数描述                                                                |
39| --------- | ------------------------------- | ---- | ----------------------------------------------------------------------- |
40| id        | number                          | 是   | 卡片标识(新建卡片填0)。<br/>**说明:**<br>不同使用方不可使用相同id。<br/>同一使用方使用相同id时,显示后添加的卡片。                                        |
41| name      | string                          | 是   | 卡片名称。                                                              |
42| bundle    | string                          | 是   | 目标卡片包名。                                                          |
43| ability   | string                          | 是   | 目标卡片Ability名称。                                                   |
44| module    | string                          | 是   | 卡片模块名称。                                                          |
45| dimension | [FormDimension](#formdimension) | 否   | 卡片尺寸,支持2 * 2,4 * 4,4 * 2类型卡片。<br/>默认值:Dimension_2_2。 |
46| temporary | boolean                         | 否   | 卡片是否为临时卡片。                                                    |
47
48## FormDimension
49
50| 名称                       | 描述     |
51| -------------------------- | -------- |
52| Dimension_1_2              | 1*2 卡片 |
53| Dimension_2_2              | 2*2 卡片 |
54| Dimension_2_4              | 2*4 卡片 |
55| Dimension_4_4              | 4*4 卡片 |
56| Dimension_2_1<sup>9+</sup> | 2*1 卡片 |
57
58## 属性
59| 名称        | 参数类型                                                                                              | 必填 | 描述                                                                    |
60| ----------- | ----------------------------------------------------------------------------------------------------- | ---- | ----------------------------------------------------------------------- |
61| size        | {<br/>width?:&nbsp;number,<br/>height?:&nbsp;number<br/>}                                             | 是   | 设置高宽尺寸。                                                          |
62| moduleName  | string                                                                                                | 是   | 卡片模块名称。                                                          |
63| dimension   | [FormDimension](#formdimension)                                                                       | 否   | 卡片尺寸,支持2 * 2,4 * 4,4 * 2类型卡片。<br/>默认值:Dimension_2_2。 |
64| allowUpdate | boolean                                                                                               | 否   | 是否允许卡片更新。<br/>默认值:true。                                   |
65| visibility  | [Visibility](ts-appendix-enums.md#visibility)                                                         | 否   | 是否允许卡片可见。<br/>默认值:Visible。                                |
66
67
68
69## 事件
70
71| 名称                                                                                                                | 功能描述                                                                                                       |
72| ------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- |
73| onAcquired(callback:&nbsp;(info:&nbsp;{&nbsp;id:&nbsp;number&nbsp;})&nbsp;=&gt;&nbsp;void)                          | 获取到卡片后触发,返回卡片的id.                                                                                |
74| onError(callback:&nbsp;(info:&nbsp;{&nbsp;errcode:&nbsp;number,&nbsp;msg:&nbsp;string&nbsp;})&nbsp;=&gt;&nbsp;void) | 组件加载错误回调。<br/>errcode:&nbsp;错误码。<br/>msg:&nbsp;错误信息。<br/>具体可参考[卡片错误码说明文档](../errorcodes/errorcode-form.md)  |
75| onRouter(callback:&nbsp;(info:&nbsp;any)&nbsp;=&gt;&nbsp;void)                                                      | 组件路由事件回调,返回[routerEvent](../js-service-widget-ui/js-service-widget-syntax-hml.md#事件绑定)中的信息。 |
76| onUninstall(callback:&nbsp;(info:&nbsp;{&nbsp;id:&nbsp;number&nbsp;})&nbsp;=&gt;&nbsp;void)                         | 组件卸载回调,返回卸载卡片的id.                                                                                |
77
78
79## 示例
80
81```ts
82//card.ets
83@Entry
84@Component
85struct CardExample {
86   @State formId:number = 0;
87  build() {
88    Column() {
89      Text('this is a card')
90        .fontSize(50)
91        .fontWeight(FontWeight.Bold)
92      FormComponent({
93        id:this.formId,
94        name:"Form1",
95        bundle:"com.example.cardexample",
96        ability:"FormAbility",
97        module:"entry",
98        dimension:FormDimension.Dimension_2_2,
99        temporary:false
100      })
101        .allowUpdate(true)
102        .size({width:360,height:360})
103        .visibility(Visibility.Visible)
104        .onAcquired((form)=>{
105          console.log(`form info : ${JSON.stringify(form)}`);
106          this.formId = form.id;
107        })
108        .onError((err)=>{
109          console.log(`fail to add form, err: ${JSON.stringify(err)}`);
110        })
111
112    }
113    .width('100%')
114    .height('100%')
115  }
116}
117```
118
119![Form](figures/form.png)