You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Angular Material 2.0.0-beta.8中md-select初始值设置问题

在Angular Material 2.0.0-beta.8中为设置默认选中项

我懂你在这个旧版本Angular Material里遇到的默认选中问题了——beta版本确实有不少和正式版不一样的细节,咱们一步步来解决:

  • 确保ngModel绑定值的类型严格匹配
    这个版本的<md-select>对值的类型匹配要求很严格,你的items是数字数组[1,2,3,4,5,6],那绑定的ngModel初始值必须是数字类型的4,不能是字符串"4"。

    先在组件类里定义好变量:

    items = [1, 2, 3, 4, 5, 6];
    selectedAmount = 4; // 这里一定要是数字,和items里的元素类型一致
    

    然后修改模板代码,绑定ngModel:

    <md-select [(ngModel)]="selectedAmount">
      <md-option *ngFor="let amount of items" [value]="amount">
        {{amount}}
      </md-option>
    </md-select>
    
  • 别忘了导入Forms模块
    这个版本里使用[(ngModel)]必须在你的模块中导入FormsModule(模板驱动表单)或者ReactiveFormsModule(响应式表单),否则ngModel不会生效。示例模块配置:

    import { NgModule } from '@angular/core';
    import { FormsModule } from '@angular/forms';
    import { MdSelectModule } from '@angular/material';
    
    @NgModule({
      imports: [
        // 其他必要模块
        FormsModule,
        MdSelectModule
      ],
      // 组件、声明等
    })
    export class YourComponentModule { }
    
  • 异步数据的额外处理
    如果你的items是通过异步请求获取的(比如HTTP请求),那要确保在数据加载完成后再给selectedAmount赋值。比如在订阅数据的回调里设置初始值,避免组件渲染时items还没加载完成,导致找不到对应的<md-option>。

内容的提问来源于stack exchange,提问作者Sören

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 12:00:14