【问题标题】:Angular Setting a Fixed Value to a Dropdown [closed]Angular将固定值设置为下拉菜单[关闭]
【发布时间】:2021-10-08 14:35:09
【问题描述】:

在我的代码中,我有一列,用户可以在其中添加元素并在添加元素时选择其优先级类型。我正在尝试为该下拉列表提供默认值(row.PriorityType.Id ==1)。我试着像下面那样做,但我得到了错误。我可以在我的案例中使用value 属性吗?我应该解决什么问题?

HTML:

 <mat-form-field floatLabel="never" *ngIf="EditIndex == i" class="w-100-p">
     <mat-select [(ngModel)]="row.PriorityType" name="PriorityType" [(value)]="{row.PriorityType?.Id == 1}">
        <mat-option *ngFor="let priority of priorityList" [value]="priority">
            {{priority.Name}}
        </mat-option>
     </mat-select>
 </mat-form-field>

【问题讨论】:

    标签: javascript html angular typescript angular-material


    【解决方案1】:

    你需要调整几件事:

    • ngModelvalue 都分配给您的输入只会造成麻烦。
    • 这两个[(ngModel)]="row.PriorityType"[(value)]="{row.PriorityType?.Id == 1}",可能会为控制器设置不同的值。 (一个是“row.PriorityType”另一个是布尔值)

    分配/读取表单值的最佳选择是在角度使用ReactiveForms,我的底线建议是让您花一些时间来实现它。

    但如果您只想修复您的代码,请从模板中删除 value 字段,并根据需要直接操作“row.PriorityType”数据的值(这反过来会反映到模板中) )。

    在您的情况下,让创建新元素的函数(在“.ts”端)设置“row.PriorityType”的默认值就足够了。

    【讨论】:

      猜你喜欢
      • 2018-03-15
      • 2019-12-28
      • 2016-11-13
      • 2018-11-05
      • 1970-01-01
      • 2021-08-15
      • 1970-01-01
      • 2023-02-14
      • 1970-01-01
      相关资源
      最近更新 更多