angular - 如何聚焦 PrimeNG p 按钮

标签 angular focus primeng

我有一个 Angular 表单。按 Enter 键后,我想关注下一个控件。在每个输入的 keyup.enter 事件中,我使用下一个输入的引用并调用 focus()。但这不适用于p-button

<div class="p-field p-col-12 p-md-6">
  <label>Address Line 1</label>
  <input #regAddressLine1 type="text" pInputText [readonly]="!editMode" formControlName="regAddressLine1" (keyup.enter)="regAddressLine2.focus()">
  <small class="p-invalid" *ngIf="f.regAddressLine1.invalid && f.regAddressLine1.touched">Required</small>
</div>
<div class="p-field p-col-12 p-md-6">
  <label>Address Line 2</label>
  <input #regAddressLine2 type="text" pInputText [readonly]="!editMode" formControlName="regAddressLine2" (keyup.enter)="save.focus()">
  <small class="p-invalid" *ngIf="f.regAddressLine2.invalid && f.regAddressLine2.touched">Required</small>
</div>
<div class="p-col-12 p-md-3">
  <p-button #save label="Save" styleClass="p-button-primary">
  </p-button>
</div>

最佳答案

看起来p-button组件没有这样的方法。

我会考虑使用 primeng 按钮的属性版本:

<button #save pButton label="Save" styleClass="p-button-primary" type="button"></button>
              ^^^^^^^^

这样#save模板变量引用具有focus()方法的 native HTMLButtonElement。

<强> Forked Stackblitz

关于angular - 如何聚焦 PrimeNG p 按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63657061/

相关文章:

angular - ExpressionChangedAfterItHasBeenCheckedError Angular

javascript - 如何测试 :before selector with Jasmine in an Angular 6 project? 的内容

html - 删除点击区域的蓝色边框

javascript - 如何知道浏览器选项卡在加载 Javascript 时是否聚焦?

android - notifyDataSetChanged() 后焦点丢失

angular - ng2-charts@3.0.8 中缺少一些导入

Angular2 Component Router 基本问题

angularjs - 等待 Angular2 中定义元素

angular - 将 PrimeNG 数据表导出为 excel、pdf 和 xml

fullcalendar - 启动计划事件的工具提示