确定组件是否需要做出反应的容器大小调整。 组件将获取 allocatedWidth 或 allocatedHeight 输入为 true。
调用该方法trackContainerResize(true)时,context.mode.allocatedWidth将在代码组件的方法内updateView提供该方法context.mode.allocatedHeight。 这些属性的值因托管代码组件的位置而异。 一个值 -1 ,指示代码组件可以设置 CSS 样式规则以根据需要填充可用空间。
下表显示了 allocatedWidth 主机和代码组件生命周期方法的不同组合的值和 allocatedHeight 值。
| Host | Lifecycle 方法 | allocatedWidth |
allocatedHeight |
|---|---|---|---|
| 模型驱动和画布应用 | init |
-1 | -1 |
| 模型驱动应用 | updateView |
-1 (如果 trackContainerResize(false) 或 如果 trackContainerResize(true)调整浏览器窗口大小后,宽度将发生变化,窗体调整为可用空间。 |
-1 |
| 画布应用 | updateView |
由应用创建者设置。 如果宽度设置为 Power FX 公式,则可以动态更改。 |
由应用创建者设置。 如果宽度设置为 Power FX 公式,则可以动态更改。 |
注释
在测试工具(开始使用) npm start中 allocatedHeight ,并将 allocatedWidth 作为字符串而不是数字返回。 如果未提供任何值,它们将返回空字符串,而不是 -1 或未定义。 此外,设置宽度或高度后,如果不刷新浏览器,就无法撤消更改,而是将空白值解释为 1。
通常,模型驱动应用不会限制组件的高度和宽度,因此不需要跟踪容器大小。 相反,代码组件可以增大为使用网格组件空间的 100%,或者在呈现 field 组件时内容所需的特定高度。 但是,在画布应用中,父上下文始终以拖放编辑器的性质为组件提供高度和宽度。
下表显示了可用于控制控件 HTML 内容的高度和宽度的策略:
| Host | 代码组件类型 | CSS 高度大小策略 | CSS 宽度大小策略 |
|---|---|---|---|
| 模型驱动应用 | dataset |
height: "100%" |
width: "100%" |
| 模型驱动应用 | field |
成长为最大高度 (托管表单也将增长以适应)。 |
width: "100%" |
| 模型驱动应用 |
field (全屏模式) |
height: "100%" |
width: "100%" |
| 画布应用 |
dataset & field |
height: allocatedWidth |
width: allocatedHeight |
| 画布应用 |
dataset & field (全屏模式) |
height: "100%" |
width: "100%" |
如果第一个调用后的值allocatedWidth和allocatedHeight更改,则会调用后续updateView作,并将“layout”添加到其中context.updatedProperties。updateView 详细信息: UpdatedProperties。
适用于
模型驱动应用、画布应用和门户。
Syntax
context.mode.trackContainerResize(value)
参数
| 参数名称 | 类型 | 必选 | Description |
|---|---|---|---|
| value | Boolean |
是的 |
True 如果控件需要跟踪容器大小,组件将获取 allocatedWidth 或 allocatedHeight。 |