typescript 如何在角形中标记输入字段文本

2uluyalo  于 2023-06-24  发布在  TypeScript
关注(0)|答案(2)|浏览(113)

我有一个有角的页面,在其模板中有一个输入字段。我想在调用函数时标记输入字段的文本。当我说“标记文本”时,我的意思是(见下图)

我将元素作为HTMLInputElement对象,并使用ViewChild选项,尝试了几种方法,如:focus、select、setSelectionRange和更多...结果总是一样的:ERROR TypeError: mailInputField.focus is not a function(不仅用于聚焦,还用于选择和setSelectionRange等...)
模板中的输入字段是<input #mailInputField [value]="mail">。在.ts文件中,视图子项为:@ViewChild("mailInputField") mailInputField! : HTMLInputElement;,我的函数selectMailText()(同时)类似于this.mailInputField.focus();
如何标记此文本?

0mkxixxg

0mkxixxg1#

我想你要找的词是“选定”或“突出显示”,而不是“标记”
查看the docs for the .select() method
您需要.focus(),然后.select()

selectText() {
  this.mailInputField.focus();
  this.mailInputField.select();
}
vuktfyat

vuktfyat2#

事实上,我找到了一种方法。
方法是:setTimeout(() => {this.mailInputField.nativeElement.select();}, 1);
也就是说:
1.在1毫秒内使用setTimeout,以便在所有内容完全加载后发生更改。
1.使用nativeElement并在@ViewChild中使用ElementRef<HTMLInputElement>作为@Loop表示
1.使用(仅)select()方法

相关问题