当前位置: 首页 > 知识库问答 >
问题:

角材质垫-选择下拉菜单默认情况下不绑定对象选定值

公孙国兴
2023-03-14

我正在将一个对象传递给我的Angular组件,并试图在下拉列表呈现时使下拉列表显示已经选择的值。在我当前的代码中,下拉列表只显示第一个选项。我传入了第二个下拉选项的值。

在我的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>

所需的行为,如果Object.Reason.Code为undefind else如果字符串为EX2,下拉列表将显示EX2选项,则下拉列表将为空。

无论我选择了什么,更改都应该反映在Object.Reason.Code中

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

我查了下面的帖子,按照步骤走,但没有成功

角度材质:MAT-选择不选择默认

感谢任何帮助。

暂时还没有答案

 类似资料:
  • 我有一个mat select,其中的选项是数组中定义的所有对象。我试图将该值设置为其中一个选项的默认值,但是当页面呈现时,该值处于选中状态。 我的typescript文件包含: 我的HTML文件包含: 我已尝试将和

  • 我有一个非常简单的角度材料选择组件,从一个对象数组填充。我尝试了ngModel和component select属性的双向绑定,但两者都不能像预期的那样工作。 我所期望的:更改选择的选项将相应地更新ngModel值。 实际发生的情况:更改selected选项会触发select change方法,但不更新binded属性。 如何再现:选择选项2,然后回到选项1,只播放2个选项。 转载位置:https

  • 我使用的是:Angular 4.4.5@Angular/Material:2.0.0-beta.12

  • 问题内容: 我有一些单选按钮,我希望其中的一个按钮在页面加载时默认设置为选中状态。我怎样才能做到这一点? 问题答案: XHTML解决方案: 请注意,属性的实际值并不重要。这只是分配的约定。最重要的是,字符串喜欢或没有任何特殊含义。 如果您不希望符合XHTML,则可以将代码简化为:

  • 我需要能够从角材料列表中删除选定的项目。为此,我决定从初始项目数组中减去选定项目数组(不确定这是最好的方法)。 我的问题是,我找不到一种方法来将超文本标记语言中的选定项数组传递给TS并使用它。 Angular材料在其留档中有以下示例: 其中x是mat-seltion-list选择器的ID,y是对所选元素执行的操作。但这似乎只适用于超文本标记语言。 下面是我不工作的代码。 HTML,其中我设置了列表

  • 问题内容: 我试图使用AngularJS创建一个链接/级联的下拉列表(选择元素),但是我很难用我的对象属性过滤和更新“ selected”属性。 首次加载页面时,所选项目将被过滤并正确显示在下拉菜单中。更改父级下拉菜单后,子级选择项不会抓住已过滤列表中的第一个项,导致子级下拉项不会更新。 任何见解将不胜感激,请注意,我将父/子/孙子数组分开(而不是在子数组中),因为最终我将从SQL中的单独spoc