【问题标题】:Angular ngModel not select with ngFor [HTML SELECT INPUT]Angular ngModel 不使用 ngFor [HTML SELECT INPUT] 选择
【发布时间】:2019-07-08 13:25:33
【问题描述】:

https://stackblitz.com/edit/angular-j7iiaw?file=src/app/app.component.ts

选择输入是 "" 而不是 1

HTML

<select [(ngModel)]="subcategoria.categoria" class="input-default" name="status_categoria" id="status_categoria">
  <option *ngFor="let categoria of categorias" value="{{categoria.id}}">{{categoria.nome}}</option>
</select>

打字稿

subcategoria: Array<any> = [{
    categoria:1
  }];
  categorias: Array<any> = [{id:1,nome:"one"},{id:2,nome:"two"}];

【问题讨论】:

  • 您的代码有问题。 subcategoria 是一个数组,subcategoria.categoria 没有意义。

标签: javascript angular typescript


【解决方案1】:

subcategoria 是一个数组,我想你想访问subcategoria[0].categoria。或者你需要将subcategoria的值改为

subcategoria = {
    categoria:1
};

This is the working fix

【讨论】:

    【解决方案2】:

    在此,[(ngModel)]="subcategoria.categoria"

    subcategoria is an array and not an object
    

    所以使用[(ngModel)]="subcategoria[0].categoria"作为默认值

    【讨论】:

      【解决方案3】:

      您使用数组作为ngModel,因此您必须更改ngModel,如下所示,

      [(ngModel)]="subcategoria[0].categoria"
      

      由于categoriasubcategoria 数组的0th 索引,您必须更改ngModel 以绑定值

      【讨论】:

        【解决方案4】:
        subcategeria is an array so you should address it like this [(ngModel)]=subcategeria[0].categeria 
        

        或者另一种解决方案是将子类别数组更改为对象:

        subcategoria = {
           categeria:1
        };
        

        【讨论】:

          【解决方案5】:

          您需要将 subcategoria 从数组更改为对象或使用 arr[index] 访问对象

          【讨论】:

            猜你喜欢
            • 2018-03-21
            • 2019-01-15
            • 2020-12-19
            • 1970-01-01
            • 2019-01-06
            • 1970-01-01
            • 2021-09-17
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多