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