我有一个有角的页面,在其模板中有一个输入字段。我想在调用函数时标记输入字段的文本。当我说“标记文本”时,我的意思是(见下图)
我将元素作为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();
如何标记此文本?
2条答案
按热度按时间0mkxixxg1#
我想你要找的词是“选定”或“突出显示”,而不是“标记”
查看the docs for the
.select()
method您需要
.focus()
,然后.select()
vuktfyat2#
事实上,我找到了一种方法。
方法是:
setTimeout(() => {this.mailInputField.nativeElement.select();}, 1);
。也就是说:
1.在1毫秒内使用
setTimeout
,以便在所有内容完全加载后发生更改。1.使用
nativeElement
并在@ViewChild
中使用ElementRef<HTMLInputElement>
作为@Loop表示1.使用(仅)
select()
方法