html - angular mat-select 在表单中设置默认值
问题描述
有一个带有嵌套对象的数据模型:
export interface Model {
someField1:string;
someField2:string;
someObject: Object;
}
export interface Object {
someField1: string;
someField2: string;
someField3: string;
}
这个模型有一个表格:
formBuilder.group({
someField1: null,
someField2: null,
someObject: formBuilder.group({
someField1: null,
someField2: null,
someField3: null
})
这个对象有一个角度分量:
<mat-form-field>
<mat-select placeholder="Some Object" formGroupName="someObject">
<mat-option *ngFor="let object of someObjectes" [value]="object">
{{ object.someField1 }}
</mat-option>
</mat-select>
</mat-form-field>
我接受来自服务器的对象列表,然后让我选择用户需要的对象。选择必须与表单相关联,如果接收到的模型已经有关于对象的数据,那么它们应该显示为预选项目。
解决方案
Angular Material mat-select 提供了一个compareWith
API,您可以向该 API 传递一个映射函数来设置默认值。
这是一个有效的 Stackblitz示例
推荐阅读
- forms - Drupal 8 - 更改表单中保存预览按钮的位置
- assembly - amd64 上“条件调用”的表现
- python - 树莓派相机模块
- xpath - 如何通过文本选择包含纯文本的节点和其他一些节点?
- intellij-idea - IntelliJ IDEA 调试无法预览每一行的值
- caching - GitLab CI:合并或替换缓存?
- html - Swift:在标签中显示 HTML 数据不显示正确的图像
- css - 如何在没有动画的情况下切换 scaleX 来翻转图像
- python - 使用具有预期样式的 python 生成 yaml 文件
- inno-setup - 禁止在 Inno Setup 自定义页面上输入空白和仅空格