Javascript 使用角度材质选择和反应形式访问输入

Javascript 使用角度材质选择和反应形式访问输入,javascript,angular,angular7,Javascript,Angular,Angular7,我计划使用下面描述的Angular Material Multi-Select模板,允许用户选择多个输入,并在一个名为click的函数中使用它们,因此不需要实时访问。但是,我不清楚如何访问用户选择的值 我猜“toppings”-FormControl对象与此有关,但它没有像预期的那样包含来自可能选项数组的字符串值。 编辑:下面更新了Html代码 资料来源: 我不确定您的问题是什么,但您可以使用value属性访问mat select的值: <mat-form-field> <

我计划使用下面描述的Angular Material Multi-Select模板,允许用户选择多个输入,并在一个名为click的函数中使用它们,因此不需要实时访问。但是,我不清楚如何访问用户选择的值

我猜“toppings”-FormControl对象与此有关,但它没有像预期的那样包含来自可能选项数组的字符串值。 编辑:下面更新了Html代码

资料来源:


我不确定您的问题是什么,但您可以使用value属性访问mat select的值:

<mat-form-field>
  <mat-label>{{selectLabel}}</mat-label>
  <mat-select [(value)]="selectValue">
    <mat-option *ngFor="let c of config" [value]="c">
      {{c.label}}
    </mat-option>
  </mat-select>
</mat-form-field>


希望这能有所帮助

将mat选项[值]更改为

[值]=可用长度 然后在.ts中添加一个函数

点击数组{ console.log'genres:',数组 } 然后是.html中的一个按钮

点击我
正如joyBlanks所说,这些值也可以在这个.toppings.value中找到

点击2{ console.log'genres:',this.genres.value } 点击我
这是我的配料。value@joyBlanks不知何故,所有数组元素都是未定义的,尽管选择的数量正确。你知道是什么原因吗?我更新了我的解决方案,但是,传入数组的值仍然没有定义。请注意,我尝试了这两种方法,将流派定义为字符串数组和FormControl对象。将mat选项中的[value]更改为availableGenre from流派解决了未定义值的问题。谢谢。
<mat-form-field>
  <mat-label>{{selectLabel}}</mat-label>
  <mat-select [(value)]="selectValue">
    <mat-option *ngFor="let c of config" [value]="c">
      {{c.label}}
    </mat-option>
  </mat-select>
</mat-form-field>