Angular 如何在打开NgbModal后不聚焦任何元素?
我在模板中有以下ngForm,我将其作为打开NgbModal的参数传递:Angular 如何在打开NgbModal后不聚焦任何元素?,angular,Angular,我在模板中有以下ngForm,我将其作为打开NgbModal的参数传递: <form #optionsForm="ngForm" noValidate (ngSubmit)="saveOptions()" id="optionsForm"> <div class="modal-body"> <div class="form-group"> <label for="customFile">Icon</label>
<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时,焦点都设置在第一个输入元素上,如下所示:
我不想在打开表单后聚焦任何元素,按tab键应该聚焦第一个元素。无论何时打开表单,有没有办法从
tabIndex=-1
开始?可能被视为黑客(?),但似乎工作正常
有一种方法可以覆盖关注第一个元素的行为。例如,将其添加到表单标签似乎可以解决这个问题:
<form .... ngbAutofocus>
尝试使用HTML自动聚焦属性。或者在TypeScript中获取元素引用并调用focus方法