如何取消Taiga UI组件tui-input的浏览器自动填充功能?
解决Taiga UI tui-input自动填充无法关闭的问题
直接给tui-input组件添加官方提供的tuiTextfieldAutocomplete输入属性,就能将自动填充设置传递到内部的原生输入框,比直接加autocomplete="off"更可靠:
<tui-input formControlName="title" [tuiTextfieldCleaner]="true" [tuiTextfieldLabelOutside]="true" [tuiTextfieldSize]="'m'" [tuiTextfieldAutocomplete]="'off'" > enter text </tui-input>
如果遇到部分浏览器(比如Chrome)对"off"仍不生效的情况,可以用浏览器兼容技巧,传入"new-password"(浏览器会判定这是新密码字段,不会触发自动填充):
<tui-input formControlName="title" [tuiTextfieldCleaner]="true" [tuiTextfieldLabelOutside]="true" [tuiTextfieldSize]="'m'" [tuiTextfieldAutocomplete]="'new-password'" > enter text </tui-input>
如果以上方法都不奏效,还可以通过Angular的视图查询手动设置内部原生输入框的属性:
在组件类中添加:
import { ViewChild, AfterViewInit } from '@angular/core'; import { TuiInputComponent } from '@taiga-ui/kit'; export class YourComponent implements AfterViewInit { @ViewChild(TuiInputComponent) inputComponent?: TuiInputComponent; ngAfterViewInit(): void { this.inputComponent?.nativeElement?.querySelector('input')?.setAttribute('autocomplete', 'off'); } }
内容的提问来源于stack exchange,提问作者Sergey
相关产品推荐
相关产品推荐

