在 Angular2 的下拉列表中显示 json 数据

Posted

技术标签:

【中文标题】在 Angular2 的下拉列表中显示 json 数据【英文标题】:Show json data in a dropdown in Angular2 【发布时间】:2017-10-25 22:35:58 【问题描述】:

这是 json 网址:https://jsonplaceholder.typicode.com/todos

这是json结构:


    "userId": 1,
    "id": 1,
    "title": "delectus aut autem",
    "completed": false
  ,

我希望在下拉列表中显示所有title

【问题讨论】:

请分享您到目前为止尝试过的内容并指出问题出在哪里。 @user2828442 查看我的回答和下方 Plunker 上的现场演示,如果您仍有任何问题,请告诉我 :) 【参考方案1】:

查看我使用流畅的材料设计样式和一些简单的错误处理创建的工作 Plunker

Here

在您的组件中,您执行以下操作:

import Component, OnInit from '@angular/core';
import Http from '@angular/http';
import 'rxjs/Rx'

@Component(
  selector: 'material-app',
  templateUrl: 'app.component.html',
  styles: [`
  div 
    height: 100vh;
    width: 100vw;
    display: flex;
    justify-content: center;
    align-items: start;
    margin-top: 1rem;
  
  `]
)
export class AppComponent 
  constructor(private http:Http) 
    this.http.get('https://jsonplaceholder.typicode.com/todos')
      .subscribe(res => this.items = res.json(),
    err => console.error('Error: ' + err),
    () => console.log('Voila! you got your list!'));
  

然后在你的模板中添加这个:

<md-toolbar color="primary">
<h4>Show json data in a dropdown in angular2 - Hamed</h4>
</md-toolbar>

<div> 
<button md-button [mdMenuTriggerFor]="menu">data dropdown menu</button>
<md-menu #menu="mdMenu">
  <button md-menu-item *ngFor="let item of items" [value]="item?.title">item?.title</button>
</md-menu>
  </div>

【讨论】:

【参考方案2】:
@Component(
  selector: 'my-app',
  template: `
    <select>
      <option  *ngFor="let item of items" [value]="item.title">item.title</option>
    </select>
  `,
)

export class App 
  items : any;
  constructor(private http:Http) 
    this.http.get('https://jsonplaceholder.typicode.com/todos')
      .subscribe(res => this.items = res.json());
  

工作plunkr

【讨论】:

【参考方案3】:
    let todos = "the json data " // make a http call to subscribe to the data

    <select [ngModel]="selectedtitle" (ngModelChange)="onChange($event)" name="select">
        <option [value]="i" *ngFor="let i.title of todos">i</option>
    </select>

【讨论】:

以上是关于在 Angular2 的下拉列表中显示 json 数据的主要内容,如果未能解决你的问题,请参考以下文章

在 Ionic 项目中获取并显示后端 json 数据作为下拉列表

ajax中网页传输JSON——下拉列表显示练习

如何获取json数组值并显示在angularjs的下拉列表中?

如何根据我的代码和 JSON 响应对象显示下拉菜单列表?

Angular 2 - 在下拉列表中设置选定值

带有 json 和 python 的依赖下拉列表