angular - 将焦点放在 p-inputNumber
问题描述
我打开一个p-dialog
有p-inputNumber
内部的,但我没有设法将注意力集中在它上面。
如您所见,我尝试设置自动对焦,但它不起作用。焦点仍然在我按下以打开对话框的按钮上。我能怎么做?谢谢。
<p-dialog header="Title" [(visible)]="displayModal" [modal]="true" [style]="{width: '40vw'}"
[baseZIndex]="10000" [draggable]="false" [resizable]="false" [closable]="false">
<p class="p-m-0">
<p-inputNumber size=3 [(ngModel)]="field" maxlength="3" autofocus></p-inputNumber>
</p>
<ng-template pTemplate="footer">
<button >Ok</button>
</ng-template>
</p-dialog>
解决方案
首先,添加对您的输入的引用,以便通过以下方式从 typescript 操作它ViewChild
:
<p-inputNumber size=3 [(ngModel)]="field" maxlength="3" #input></p-inputNumber>
和
@ViewChild("input") elm;
然后,一旦对话框出现,使用以下方法将焦点设置到此输入onShow
:
(onShow)="setFocus()"
和
setFocus() {
this.elm.input.nativeElement.focus();
}
看演示
推荐阅读
- javascript - 使用 CSS 动态调整字段高度
- python - 如何在执行 test.py 时解决此错误?
- python - 从字符串访问文本
- wordpress - Displaying product category names in the WordPress order table (Woocommerce)
- java - 编写 Java scriptlet 时找不到 java.util.Date
- rust - 如何在匹配臂中表达变量类型?
- azure-devops - 如何使用 Azure devops 中的 Rest API 从提交中获取文件,不包括 PullRequest 中的合并提交
- swift - 视频不会在 swift 中的给定视图中全屏播放。需要帮助修复它
- google-cloud-platform - 如何使用变量在 terraform GCP 上添加或删除 access_config
- parsing - 从 EDGAR 接收带有请求的数据(错误 403)