Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 默认情况下,角度材质材质材质选择下拉列表不绑定到对象选定值_Angular_Angular Material - Fatal编程技术网

Angular 默认情况下,角度材质材质材质选择下拉列表不绑定到对象选定值

Angular 默认情况下,角度材质材质材质选择下拉列表不绑定到对象选定值,angular,angular-material,Angular,Angular Material,我正在将一个对象传递给我的角度组件,并尝试获取下拉列表,以便在渲染下拉列表时显示已选择的值。在我当前的代码中,下拉列表仅显示第一个选项。我传入了第二个下拉选项的值 在我的ts代码中,object.reason.code是一个值为“EX2”的字符串 下拉列表绑定到 reasons ReasonList = [{name: 'EX1', code: "EX1'}, {name: 'EX2', code: "EX2'}, {name: 'EX3', code: "EX3'}] 这是我的html &

我正在将一个对象传递给我的角度组件,并尝试获取下拉列表,以便在渲染下拉列表时显示已选择的值。在我当前的代码中,下拉列表仅显示第一个选项。我传入了第二个下拉选项的值

在我的ts代码中,object.reason.code是一个值为“EX2”的字符串

下拉列表绑定到

reasons ReasonList = [{name: 'EX1', code: "EX1'},  {name: 'EX2', code: "EX2'}, {name: 'EX3', code: "EX3'}]
这是我的html

<mat-select [(ngModel)]="object.reason.code"   [formControl]="myCtrl" required>
  <mat-option *ngFor="let reason of reasons" [value]="object.reason.code">{{reason.name}}</mat-option>
</mat-select>

{{reason.name}
如果object.reason.code未找到,则下拉列表为空;否则,如果字符串为EX2,则下拉列表应显示EX2选项

无论我选择了什么,更改都应该反映在object.reason.code中

我尝试将[(ngModel)]更改为[(value)],但没有任何效果

我查阅了下面的帖子,并按照步骤进行操作,但没有成功


非常感谢您的帮助。

使用
ngModel
只需声明一个变量并根据列表值(代码)设置值,我只需输入一个空字符串作为默认值

组成部分

ReasonList=[{name:'EX1',code:'EX1'},…];

object={reason:{code:'EX1'}};//您不需要使用ngModel和formControl,我已经给出了默认值选项的想法,请检查我的答案,希望这对您有用