angular - mat-select:以编程方式预选项目
问题描述
我试图弄清楚如何在对话框中显示垫选择并预先选择一些垫选项。我创建了一个简单的示例来演示我想要做什么:
在我的示例中,我想显示一个可选择的颜色列表,其中预先选择了一些颜色。我首先通过迭代对话框的 TS 文件中的字符串数组来创建一个 mat-select 及其内容(mat-options):
<mat-select placeholder="Colors" formControlName="selectedColors" multiple>
<mat-option *ngFor="let color of allColors" value="{{color}}">{{color}}</mat-option>
</mat-select>
这工作得很好。在我的对话框的 TS 文件中,我声明了以下数组:
this.allColors = ['red', 'orange', 'yellow', 'green', 'blue', 'indigo', 'violet'];
this.defaultSelections = ['red', 'green', 'blue'];
注意第二个数组“defaultSelections”:我希望在显示对话框时预先选择这些项目。我似乎无法找到/弄清楚如何做到这一点。
预先感谢您的帮助!
解决方案
由于您正在使用ReactiveForms
,您可以使用默认值属性FormControl
来设置mat-select
.
this.defaultSelections = ['red', 'green', 'blue'];
this.form = this.formBuilder.group({
selectedColors: [this.defaultSelections]
});
一个工作示例。
推荐阅读
- security - Magento 2.4.2 安全扫描错误报告 Visbot 恶意软件
- java - 如何动态实例化一个类型在运行时决定的类
- python - 处理异常的不同返回类型
- r - 如何按位于 R 中的列中的次数拆分行?
- azure-sql-database - 我们如何检查某人在 Azure SQL 中运行查询的频率?
- android - 我无法构建 Flutter apk,因为访问“FlutterEngine”类
- google-chrome-extension - 无法从 Chrome 扩展文件系统加载 html 文件
- .htaccess - htaccess - 隐藏文件扩展名并仅保留变量的值
- vb.net - 使用 .NET 5 的 Visual Basic 项目的高 DPI 模式错误
- reactjs - 将属性添加到 React Typescript 接口