当布局变化依赖多个输入、多个模板值或复杂条件组合时,脚本通常比堆叠大量几何参数更清晰。联动多个对象一起变化时,hqVisuDesigner.setComponentLayout() 会更直接。
文档手册
脚本方式改布局:直接调用 hqVisuDesigner.setComponentLayout() | Mingcedar Studio
如果目标位置或目标尺寸已经明确,且这种变化难以通过固定几何行为表达,可以使用脚本直接调整布局。
脚本方式改布局:直接调用 hqVisuDesigner.setComponentLayout()
如果目标位置或目标尺寸已经明确,且这种变化难以通过固定几何行为表达,可以使用脚本直接调整布局。
拖动结果回写、对象成组平移、根据用户输入重新布置面板、根据模板值动态调整弹窗位置,这些都适合脚本方式。
此 Click Script 使用 getComponentData 的 left / top 读取源位置,用 setComponentLayout 的 x / y 设置位置。每次移至源位置右侧两个宽度处,不累计位移。
// Click Script
var data = hqVisuDesigner.getComponentData("GatePositionIndicator");
if (data) {
hqVisuDesigner.setComponentLayout("GatePositionIndicator", {
x: data.left + data.width * 2,
y: data.top,
angle: data.rotation || 0
});
}
几何行为将输入范围映射到位移、角度或缩放范围;超出这些映射规则的布局需求可使用脚本。