【发布时间】:2018-05-23 08:42:43
【问题描述】:
我有一个代表地址的表格,我正在使用 mat-select 来表示州/省。不幸的是,它没有自动填充州/省(我假设因为它不是本机选择)。这是我的标记:
<mat-form-field>
<mat-select placeholder="State"
[(ngModel)]="state"
autocomplete="billing address-level1">
<mat-option *ngFor="let s of states" [value]="s.abbreviation">{{ s.name }}</mat-option>
</mat-select>
</mat-form-field>
我不确定我是否遗漏了某些内容,或者浏览器自动填充功能是否不起作用,因为 mat-select 不是本机控件。任何人都知道如何在这种情况下使自动填充工作?我唯一能想到的就是创建一个原生选择,将其绑定到相同的模型字段并将其样式设置为display: none。
【问题讨论】:
-
嗨,来自 [(ngModel)]="state" 的状态是否等同于 state.abbreviation?我还建议在您的 *ngFor 中使用其他变量名称,以免重复您的“状态”变量(例如:*ngFor="let s of states")。
-
您想在加载时显示自动填充的值吗?或者您想在单击 mat-select 选项时显示自动填充?你能告诉我吗
-
@GeoAstronaute 我已将其更改为使用 s 作为变量而不是状态。虽然我知道这可能是模棱两可的,但它并不能解决问题。
-
@Rutvij07 我不希望自动填充显示加载。我希望自动填充能够像对任何其他网站一样工作,即如果我开始在地址 1 输入字段中输入,浏览器会建议地址选项。当我选择建议的选项之一时,我希望其余的地址字段自动填充。目前,除了状态下拉列表之外,所有其他地址字段都按照我的描述工作。
-
不幸的是,我认为这是不可能的。我不得不使用一些不太完美的 css 切换到原生选择,以使其与材质控件融为一体。
标签: angular angular-material2 autofill