trackContainerResize

确定组件是否需要做出反应的容器大小调整。 组件将获取 allocatedWidthallocatedHeight 输入为 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 startallocatedHeight ,并将 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%"

如果第一个调用后的值allocatedWidthallocatedHeight更改,则会调用后续updateView作,并将“layout”添加到其中context.updatedPropertiesupdateView 详细信息: UpdatedProperties

适用于

模型驱动应用、画布应用和门户。

Syntax

context.mode.trackContainerResize(value)

参数

参数名称 类型 必选 Description
value Boolean 是的 True 如果控件需要跟踪容器大小,组件将获取 allocatedWidth 或 allocatedHeight。

模式
Power Apps 组件框架 API 参考
Power Apps 组件框架概述