html中,只会在页面加载后,点击按钮打开弹窗第一次,会自动获取焦点,之后就打开弹窗就不会再有弹窗事件,所以这样只能直接在页面中的输入框中使用,不适合用在弹窗中
<input type="text" id="box" autofocus="autofocus">
typescript中,需求:要每次打开模态框都需要获取焦点,所以只能在点击按钮打开弹窗的事件中用ts手动获取焦点了
openModal(template: TemplateRef<any>) {
this.curModal = this.modalService.show(template, this.config);
// 根据Id获取该标签,再给该标签一个简单事件就可以每次打开弹窗,都有获取焦点
const counter = document.getElementById('box') as HTMLInputElement;
counter.focus();
}
效果图: