Focus不会保留在PrimeNG <p-dialog>组件中

时间:2018-01-13 13:34:27

标签: angular modal-dialog primeng

我一直在项目中使用PrimeNG。 我遇到了一个关于重点的问题 对话框组件。 即使在PrimeNG网站上给出的示例中,我们也可以重现此问题。 例如https://www.primefaces.org/primeng/#/dialog
重现这一步的步骤:

  1. 点击&#39;显示&#39;按钮
  2. 按&#39;标签&#39;在键盘上。
  3. 您可以看到焦点丢失并进入后挡板 现在,我尝试使用文档中提供的modal属性值modaltrue

    有人遇到过这个问题吗?有什么我想念的吗? 当对话框打开时,我应该如何保持并限制焦点在对话框上,而不是在后面的屏幕上?

1 个答案:

答案 0 :(得分:1)

使用准备对话框的onShow(),然后在该函数中使用queryselector选择dom元素作为HTMLElement并调用focus()函数。例如:

onShow() {
    (document.querySelector('input[name="time"]') as HTMLElement).focus();
}