繁体   English   中英

从GET json响应 - Angular4中下拉数据填充数据

[英]Populate the data in drop-down from a GET json response- Angular4

我试图在命令的下拉列表中显示json键/字段; 这是对象类型(参见下面的json)例如:“key1”,“key2”应出现在下拉列表中。 最初使用* ngfor但它给出了错误 - “ngfor仅支持对诸如Arrays之类的迭代的绑定”。 由于我的json不包含Array,因此尝试使用ng-options但无法填充下拉列表。 我的json看起来像:

{
    id: ‘bla’,
    commands: {
        “key1” : { },
        “key2”: { }
    }
}

HTML代码:

<select ngModel="selectedName" ng-options="cmd for cmd in cmdJson" name= "CapabilityCmd" required>

在Typescript代码中:

this.http.get(URL, options)
      .pipe(map ((response) => response.json()))
      .subscribe((res) => {
        this.commandResponse = res;
        this.cmdJson = this.commandResponse.commands;
        console.log("commands:", this.cmdJson);
      });

我注意到cmdJson显示正确的响应(即;

{“key1”:{},“key2”:{}}

)在控制台中但不在下拉框中填充。

角度中no可用的ng选项,您使用的是angularjs语法,而是使用ngFor

<select [(ngModel)]="selectedName">
    <option *ngFor="let cmd of cmdJson" [value]="cmd ">
      {{cmd}}
    </option>
</select>

暂无
暂无

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

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