【发布时间】:2021-03-26 21:47:35
【问题描述】:
大家好,我想在下拉列表中选择值后禁用输入字段,并且我想使用重置按钮重置选定的值。
供参考 Stackblitz :https://stackblitz.com/edit/mat-autocomplete-1uelcd?file=app%2Fautocomplete-display-example.html
例如:- 如果我们在输入字段中选择了任何值,则在单击重置按钮后应该禁用字段,它应该启用以选择值,请检查并帮助我们。
HTML:
<div class="example-form">
<form>
<mat-form-field class="example-full-width">
<input type="text" placeholder="Assignee" aria-label="Assignee" matInput [formControl]="myControl" [matAutocomplete]="auto2">
<mat-autocomplete #auto2="matAutocomplete" [displayWith]="displayFn">
<mat-option *ngFor="let option of filteredOptions | async" [value]="option">
{{ option.name }}
</mat-option>
</mat-autocomplete>
</mat-form-field>
<button mat-raised-button (click)="onResetSelection()" color="primary">Reset Selection</button>
</form>
</div>
重置:
onResetSelection() {
this.filteredOptions = [];
}
禁用:
[disabled]="filteredOptions =='option'"
【问题讨论】:
-
为什么不将输入合并到一个变量中?你为什么要重置
filteredOptions?您应该重置选定的值吗? -
首先我们需要在选择值后选择下拉列表中的值,然后如果我们单击重置按钮禁用输入字段应该禁用并且选择的值应该重置。
-
我得到了要求。但我认为你的做法是错误的。单击重置按钮时,您应该清除所选值而不是可能值列表。
-
首先我希望在从下拉列表中选择任何值后禁用输入字段,如果我们想再次更改下拉列表中的值,我们需要删除输入字段禁用功能,这样只有我们需要重置按钮
标签: html angular disabled-input mat-autocomplete