Javascript 角度材质自动完成-如何选择选项
我正在使用“角度材质自动完成”,并尝试使用Javascript 角度材质自动完成-如何选择选项,javascript,angular,typescript,autocomplete,angular-material,Javascript,Angular,Typescript,Autocomplete,Angular Material,我正在使用“角度材质自动完成”,并尝试使用@Input和表单控件选择值。几乎一切都很好。我使用如下输入设置值: @Input() set startingPointValue(value) { this.control.setValue(value, { emitEvent: false }); this.resizeInput(); } 输入值已正确设置,但当我打开autocomplete时,应选择的选项没有选择mat类,因此基本上没有指示选择了哪个选项,这令人困惑。当我再次单击同一
@Input
和表单控件选择值。几乎一切都很好。我使用如下输入设置值:
@Input() set startingPointValue(value) {
this.control.setValue(value, { emitEvent: false });
this.resizeInput();
}
输入值已正确设置,但当我打开autocomplete时,应选择的选项没有选择mat
类,因此基本上没有指示选择了哪个选项,这令人困惑。当我再次单击同一选项时,将添加类
有没有办法使用setValue
或者我需要使用其他方法
这是我的自动完成HTML:
<mat-form-field class="starting-point-filter-container">
<mat-label>{{ label }}</mat-label>
<input
id="inputStartingPoint"
#startingPointInput
matInput
placeholder="Type to filter results"
type="text"
[formControl]="control"
[matAutocomplete]="startingPointAutocomplete"
spellcheck="false"
/>
<mat-icon class="starting-point-icon--dropdown">arrow_drop_down</mat-icon>
</mat-form-field>
<mat-autocomplete
#startingPointAutocomplete="matAutocomplete"
[displayWith]="displayName"
(opened)="scrollToSelected()"
>
<perfect-scrollbar class="select-scrollbar" [config]="scrollBarConfig" #scrollFilterContainer>
<mat-optgroup
*ngFor="let group of groups"
[label]="group.name"
[class.mat-optgroup-no-label]="!group.name"
class="starting-point-group-container"
#scrollToContainer
>
<mat-option *ngFor="let option of filteredOptions | async" [value]="option">
{{ option.id }}
</mat-option>
</mat-optgroup>
</perfect-scrollbar>
</mat-autocomplete>
{{label}}
向下箭头
{{option.id}
任何帮助都将不胜感激
编辑:
我用自动完成创建了StackBlitz:。您可以在初始化后检查选项2。没有类
.mat在其上被选中
。您需要手动单击以正确设置它。问题是如何在初始化过程中执行此操作?您能提供stackblitz url吗?@piyushjain给您:当您检查选项2时,您将看到.mat selected
类丢失。当你手动点击它时,它会得到这个类。你在某处使用这个类吗?选择选项后,这个类。选择的mat
被自动完成神奇地添加。。。这就是为什么我不知道如何处理这个问题,为什么在setValue
选项未被选中。@你有没有找到方法在setValue之后向选项添加.mat selected class?你能提供一个stackblitz url吗?@piyushjain给你:当你检查选项2时,你会看到。mat selected
缺课了。当你手动点击它时,它会得到这个类。你在某处使用这个类吗?选择选项后,这个类。选择的mat
被自动完成神奇地添加。。。这就是为什么我不知道如何处理这个问题,为什么没有选择aftersetValue
选项。@你有没有找到方法将.mat selected class添加到setValue之后的选项中?