繁体   English   中英

角材料选择 - 显示选定值的问题

[英]Angular material select - problem with displaying selected value

我使用角材料选择: https : //material.angular.io/components/select/examples

在我的应用程序中,我使用了很多选择输入,并且它们都在它们之间共享了选项数组。 选项数组示例:

  foods: Food[] = [
{value: 'steak-0', viewValue: 'Steak'},
{value: 'pizza-1', viewValue: 'Pizza'},
{value: 'tacos-2', viewValue: 'Tacos'}];

我的问题是:当我选择任何值然后我重置我的选项数组时,例如单击按钮,然后选择的值从所有选择的输入中消失。

当我重置选择选项数组或将新值显式放入选项数组时,是否有任何方法可以使所选值在选择输入上可见?

编辑:

为了更清楚,让我们考虑以下代码:

TS文件:

foods: Food[] = [
{value: 'steak-0', viewValue: 'Steak'},
{value: 'pizza-1', viewValue: 'Pizza'},
{value: 'tacos-2', viewValue: 'Tacos'}];

selected = 'pizza-1';

resetOptions() {
    this.foods = [];
}

HTML:

<mat-form-field>
    <mat-label>Favorite food</mat-label>
    <mat-select name="food" [(value)]="selected">
      <mat-option *ngFor="let food of foods" [value]="food.value">
        {{food.viewValue}}
      </mat-option>
    </mat-select>
</mat-form-field>

<p>{{selected}}</p>

<button (click)="resetOptions()">Reset Options</button>

当我选择值时,'selected' 属性会正确地更新值并且该值出现在选择输入上,但是当我单击“重置选项”按钮时,'selected' 属性仍然保持其值,但该值从选择输入中消失。

HTML

<mat-form-field>
    <mat-label>Favorite food</mat-label>
    <mat-select name="food" [(value)]="selected">
      <mat-option *ngFor="let food of foods" [value]="food.value">
        {{food.viewValue}}
      </mat-option>
    </mat-select>
</mat-form-field>

TS

selected = 'pizza-1';

foods: Food[] = [
    {value: 'steak-0', viewValue: 'Steak'},
    {value: 'pizza-1', viewValue: 'Pizza'},
    {value: 'tacos-2', viewValue: 'Tacos'}
];

试试上面的代码片段,我希望它会帮助你。 谢谢

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM