如何使用owner元素居中wj-popup

时间:2016-09-28 12:38:11

标签: wijmo5

我想将拥有所有者元素的wj-popup置于所有者的中心。这意味着owner元素的中心必须是弹出窗口的水平中心。我没有找到任何关于此的信息(仅关于没有所有者元素的弹出窗口,默认情况下居中)。我怎么能这样做?

enter image description here

1 个答案:

答案 0 :(得分:0)

目前版本的wijmo5(v5.20162.211)不允许这样做,但这里描述了一些解决方法: http://wijmo.com/topic/how-to-center-wj-popup-with-owner-element-by-its-owner-2/#post-79683

此外,由于我使用了一些不允许此工作的npm ui组件和angular2,因此我必须捕获鼠标事件并修改此功能:

setPopupPosition(event:any, element:any) {
    let mouseX = event.clientX;
    let popupWidth = element.popup.hostElement.clientWidth;
    let popupPosition = mouseX - popupWidth / 2;
    element.popup.hostElement.style.left = (popupPosition < 0 ? 0 : popupPosition) + "px";
}

element.popup - 在弹出组件中使用弹出的@ViewChild声明。

和HTML:

<button(click)="setPopupPosition($event, profileFilterPopover)">ButtonName</button>
<profile-filter-popover #profileFilterPopover [owner]="showProfileFilterButton" [reportId]="reportId"
                                [cubeId]="cubeId"></profile-filter-popover>

其中profileFilterPopover是弹出窗口的ID