angular - 全局关闭 Material matInput 上的自动完成功能

标签 angular angular-material

有没有办法全局关闭 Material 的 MatInput 字段的自动完成行为?我想摆脱这个到处重复的样板代码:

<input matInput formControlName="myCtrl" autocomplete="off" />

例如类似于在应用程序模块的提供程序数组中使用注入(inject) token 全局定义表单字段的外观和标签选项:

// Default appearance of material form fields
{ provide: MAT_FORM_FIELD_DEFAULT_OPTIONS, useValue: { appearance: 'fill' } },
// Globally disable label of material form fields
{ provide: MAT_LABEL_GLOBAL_OPTIONS, useValue: { float: 'never' } }

我扫描了文档和源代码,但找不到任何东西。

最佳答案

有点晚了,但也许会有帮助。

您只需添加这个简单的指令即可:

import { Directive, HostBinding, Attribute } from '@angular/core';

@Directive({
  selector: '[matInput]',
})
export class AutocompleteOffDirective {

  @HostBinding('attr.autocomplete') auto;
  constructor(@Attribute('autocomplete') autocomplete: string) {
    this.auto = autocomplete || 'off'
  }

}

如果您选择覆盖自动完成属性,它将从元素中获取文本。

关于angular - 全局关闭 Material matInput 上的自动完成功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59300424/

相关文章:

angular - 将 Rxjs 代码转换为 Angular 6 和最新的 rxjs

node.js - 使用 Node 和 Angular 5 从 Linux 服务器下载 zip 文件时,zip 文件成功下载但为空

angular - 为组件 AppComponent 指定的模板不是字符串

javascript - Angular Material 日期选择器大小

css - 在菜单组件中鼠标悬停时更改按钮的图标和文本颜色

angular-material - 如何让 md-search-text-change 在触发调用之前等待 1000 毫秒?

html - 如何对齐 mat-action-row 按钮?

angular 7 如何将 ngx-datatable 内容导出到 excel 表?

forms - 形式中的形式。表单控件可以继承吗?

angular - 当数据源为 Observable<T> 时,如何在 Angular Material Data Table 中启用排序