我正在使用具有ngx-mat-select-search的选择组件,我想设置调用该组件时选择的默认值,但是它没有显示并且看不到任何内容控制台错误。我不知道发生了什么,我想念什么?
这是StackBlitz
https://stackblitz.com/edit/angular-hre1qd
这也是我用来设置默认值的主要代码:
test.component.html
<mat-form-field [formGroup]="formData" class="prueba">
<mat-select formControlName="valueSelect" #singleSelect>
<mat-option>
<ngx-mat-select-search [formControl]="inputFilter" [placeholderLabel]="'Search...'"
[noEntriesFoundLabel]="'Not Found...'">
<i class="mdi mdi-close menu-icon" ngxMatSelectSearchClear></i>
</ngx-mat-select-search>
</mat-option>
<mat-option value='-1' selected>{{defaultValue}}</mat-option>
<mat-option *ngFor="let data of controlFilter | async" [value]="data[dataValue]">
{{ data[dataShow] }}
</mat-option>
</mat-select>
</mat-form-field>
test.component.ts
setInitialValue() {
this.controlFilter.next(this.dataSource.slice());
this.formData
.get("valueSelect")
.setValue(this.dataSource[2]);
// WHY IS NOT CHANGING TO A DEFAULT VALUE
}
感谢劝告!
答案 0 :(得分:1)
答案 1 :(得分:1)
您要将整个对象分配给'valueSelect',要自动填充选项,只需传递引用即可,这里的代码是唯一可以使用的代码,默认值将被自动填充
尝试一下
setInitialValue() {
this.controlFilter.next(this.dataSource.slice());
this.formData
.get("valueSelect")
.setValue(this.dataSource[2].code); //here based on formControl value that having same code; that obj name field will be displayed/populated in selected option
}
如果不需要,您可以使用<mat-option value='-1' selected>{{defaultValue}}</mat-option>
显示/选择空选项。