更新时间:2025-08-19 GMT+08:00
分享

空间/系统组态类事件

组态监听母页面发送的组态显示/隐藏事件,联动组态页中设备图标进行显示/隐藏

  • 关联组件:

组态工具系统组件库中所有组件

  • 事件格式:
{
    "direction": "import",
    "type": "baPageVisible",
    "data": {
        "visibleProductIds": [
            "${porduct_id1}",
            "${porduct_id2}",
            "allProducts"
        ],
        "invisibleProductIds": [
            "${porduct_id3}",
            "${porduct_id4}",
            "allProducts"
        ]
    }
}
  • 参数说明:

type:消息类型(baPageVisible为组态显示/隐藏)

visibleProductIds:需要显示的产品ID列表

invisibleProductIds: 需要隐藏的产品ID列表

若产品id传“allProducts”,则表示组态图中所有产品ID

若某productId既在可见产品ID列表中,又在不可见产品ID列表中,组态图将对该产品对应组件进行显示,而不进行隐藏。

  • 处理样例:
this.visible = [];
this.invisible = [];
this.productList.forEach(item => {
  if (item.visible) {
    this.visible.push(item.product_id);
  } else {
    this.invisible.push(item.product_id);
  }
});
if (!this.visible.length) {
  this.invisible = ['allProducts'];
}
if (!this.invisible.length) {
  this.visible = ['allProducts'];
}
let iframeEl = document.getElementById("BaPage");
iframeEl.contentWindow.postMessage(
  {
    type: 'bastudioVisible',
    data: {
      visibleProductIds: this.visible,
      invisibleProductIds: this.invisible
     }
  },
  'http://localhost:8082'
);

相关文档