有时,浏览器为输入提供自动填充.本地输入字段有一个属性autocomplete="off".然而,我有来自taiga UI库的输入字段:

<tui-input
    formControlName="title"
    [tuiTextfieldCleaner]="true"
    [tuiTextfieldLabelOutside]="true"
    [tuiTextfieldSize]="'m'"
>
    enter text
</tui-input>

autocomplete="off"属性不适用于tui-input.请帮助我取消tui-input的自动填充.

我try 使用autocomplete="off"作为家长div.但这不起作用,我需要决定,即tui-input

推荐答案

创建自定义指令来处理此场景.

自动完成指令:

import { Directive, ElementRef, Input } from '@angular/core';

@Directive({
  selector: '[autoComplete]',
})
export class AutoCompleteDirective {
  @Input() autoComplete = 'off';
  constructor(private elementRef: ElementRef) {}

  ngAfterViewInit() {
    const input = this.elementRef.nativeElement.querySelector('input');
    input.setAttribute('autocomplete', this.autoComplete);
  }
}

HTML

<tui-root>
  <form class="b-form" [formGroup]="testForm">
    <tui-input
      autoComplete="off"
      formControlName="testValue"
      [tuiTextfieldCleaner]="true"
      [tuiTextfieldLabelOutside]="true"
      [tuiTextfieldSize]="'m'"
    >
      enter text
    </tui-input>
  </form>
</tui-root>

选项2定义tui-input内的输入,自动完成设置为off

<tui-input formControlName="testValue2">
  Type an email
  <input tuiTextfield type="email" autocomplete="off" />
</tui-input>

Stackblitz Demo

Angular相关问答推荐

iOS Mobile Safari - HTML5视频覆盖一切

FormArray包含嵌套的FormGroups.如何访问嵌套的表单组控件?

运行容器后,Docker容器立即退出

带有服务依赖的Angular测试类

Rxjs重置执行后的可观察延迟并重新调度Angular

笔刷Angular 为17

从API动态加载MAT表数据时禁用分页

Router.navigate() 在功能拦截器内不起作用

在Angular中扩展多个类

Angular 9表单构建器 - 日期验证器问题

使用 NPM 安装 Font Awesome 5

如何重新加载当前页面?

如何在 ngFor 循环中创建变量?

angular2:错误: TypeError: Cannot read property '...' of undefined

如何组合两个可观察到的结果?

使用 Angular 2 新路由更改页面标题

为什么Angular 12 'ng serve' 构建应用程序的速度很慢?

在Angular2中获取服务的域名

Firebase 查询子项的子项是否包含值

如何将 @Input 与使用 ComponentFactoryResolver 创建的组件一起使用?