Angular ngModel未使用ngFor选择[HTML SELECT INPUT]

时间:2019-02-14 13:37:45

标签: javascript angular typescript

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"}];

5 个答案:

答案 0 :(得分:3)

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

subcategoria = {
    categoria:1
};

This is the working fix

答案 1 :(得分:1)

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

subcategoria is an array and not an object

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

答案 2 :(得分:1)

您将数组用作ngModel,因此必须如下更改ngModel

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

由于categoria0th数组的subcategoria索引,因此您必须更改ngModel来绑定值

答案 3 :(得分:1)

subcategeria is an array so you should address it like this [(ngModel)]=subcategeria[0].categeria 

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

subcategoria = {
   categeria:1
};

答案 4 :(得分:1)

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