在Angular 7的响应式表单中,如果想要设置mat-select的默认选项而不使用ngModel,可以通过FormGroup和FormControl来实现。下面是一个示例代码:
首先,在你的组件中,创建一个FormGroup来包含mat-select的FormControl:
import { Component } from '@angular/core';
import { FormBuilder, FormGroup, FormControl } from '@angular/forms';
@Component({
selector: 'app-my-component',
templateUrl: './my-component.component.html',
styleUrls: ['./my-component.component.css']
})
export class MyComponentComponent {
myForm: FormGroup;
options = [
{ value: 'option1', label: 'Option 1' },
{ value: 'option2', label: 'Option 2' },
{ value: 'option3', label: 'Option 3' }
];
constructor(private formBuilder: FormBuilder) {
this.myForm = this.formBuilder.group({
mySelect: ['option2'] // 设置默认选项
});
}
}
然后,在模板文件中,将FormGroup和FormControl绑定到mat-select控件上:
这样,mat-select就会默认选中"Option 2"。你可以通过修改FormGroup中的mySelect的值来改变默认选项。
希望这个解决方法对你有帮助!