首页 文章

Angular 2:如何在选项选择中处理* ngif

提问于
浏览
3

如何使用* ngif设置特定的默认选择选项?

我需要从数据库重新加载数据进行编辑,当我检索数据时,我需要在存储值的基础上设置选项的默认值 .

我有这个:

<select class="form-control" id="deviceModel">
        <option value="">Select a category</option>
        <option *ngFor='let element of category'*ngIf="{{element}}==={{nameDevice}}" value="{{element}}">{{element}}</option>    
    </select>

提前致谢 .

3 回答

  • 1

    我建议你在ts或js文件中执行它取决于你使用的是typescript或javascript .

    我假设您通过向API发送ajax请求从数据库加载数据?使用ngModel绑定模板中的数据(本例中为selectedValue)

    <select [(ngModel)]="selectedValue">
      <option *ngFor="let c of category" [ngValue]="c">{{c.name}}</option>
    </select>
    

    并设定

    this.selectedValue = response.value;
    

    在回调功能中 .

  • 0

    <select class="form-control"> <option *ngFor="let area of areaData" value="{{area.id}}" [selected]="area.id == userData.area_id"> {{area.area_name}} ({{area.area_pin}}) </option> </select>

    在Angular 4中使用 [selected] 作为动态选择字段 .

  • 9

    ngIf用于结构操作,基本上是在DOM中还是删除了某些东西 . 如果要绑定到所选属性,可以使用:

    <select class="form-control" id="deviceModel">
        <option value="">Select a category</option>
        <option *ngFor='let element of category' [selected]="element === nameDevice" [value]="element">{{element}}</option>    
    </select>
    

    来自https://angular.io/docs/ts/latest/api/forms/index/SelectControlValueAccessor-directive.html

    如果您的选项值是简单字符串,则可以绑定到选项上的normal value属性 . 如果您的选项值恰好是对象(并且您希望将表单中的选择保存为对象),请改用ngValue .

    如果你想使用 ngModel 绑定,请看Binding select element to object in Angular 2

    请注意,使用属性绑定时,不应/不应使用字符串插值

相关问题