打开NgbModal后如何不聚焦任何元素?

时间:2019-10-30 12:07:03

标签: angular

我在模板中包含以下ngForm,我将其作为打开NgbModal的参数传递给了

<form #optionsForm="ngForm" noValidate (ngSubmit)="saveOptions()" id="optionsForm">
  <div class="modal-body">
    <div class="form-group">
      <label for="customFile">Icon</label>
      <div class="custom-file">
        <input type="file" class="custom-file-input" id="customFile">
        <label class="custom-file-label" for="customFile">Select icon</label>
      </div>
    </div>
    // more will come
    <button type="submit" class="btn btn-secondary pieChart" aria-hidden="true" [disabled]="!optionsForm.valid">
      <i class="fa fa-floppy-o"></i> Save
    </button>
  </div>
</form>

每当我打开NgbModal时,焦点就会设置在第一个输入元素上,如下所示:

enter image description here

打开表单后,我不希望任何元素被聚焦,请按Tab键,然后应聚焦第一个元素。每次打开表单时,是否有任何方法可以从tabIndex=-1开始?

1 个答案:

答案 0 :(得分:0)

也许可以看成是骇客(?),但似乎可以正常工作...

ngbAutofocus覆盖了专注于第一个元素的行为。例如,将其添加到表单标签似乎可以解决此问题:

<form .... ngbAutofocus>

STACKBLITZ