我正在使用一个模式,我想知道是否有人知道如何使它出现在您单击的位置,而不是在页面的中间?基本上,如果你点击我表格中的任何一行,你会在页面中间弹出一个弹出,但我希望它出现在你点击的地方。
默认情况下,它将其附加到主体(中间):
appendTo = "body"
这是我的代码:柱塞
<p-dialog appendTo = "body" header="Title" [(visible)]="display" modal="modal" width="350" height="300">
{{personData}}
</p-dialog>
我也不希望当一排靠近窗口底部的时候,模式会超过窗口。请参阅附图:
发布于 2018-01-09 21:00:07
使用positionLeft
和positionTop
显示您想要的模式。
来自文档:
positionLeft :对话框的左坐标值。 positionTop :对话框的顶部坐标值。
单击一行时,只需告知光标的坐标即可。p-dialog
HTML变成:
<p-dialog appendTo = "body" header="Title" [(visible)]="display" modal="modal" width="350" height="300" positionLeft="{{positionLeft}}" positionTop="{{positionTop}}">
{{personData}}
</p-dialog>
和onRowSelect
方法:
onRowSelect(event) {
this.positionLeft = event.originalEvent.clientX;
this.positionTop = event.originalEvent.clientY;
this.display = true;
this.personData = event.data.name;
}
见工作柱塞
https://stackoverflow.com/questions/48176285
复制相似问题