首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从列表中显示一个用户的信息

从列表中显示一个用户的信息
EN

Stack Overflow用户
提问于 2018-06-27 10:24:48
回答 2查看 1K关注 0票数 0

有这样一个用户清单:

代码语言:javascript
复制
<div class="list-group" >
  <div class="media" *ngFor="let user of users">
    <a class="list-group-item ">
      <h4 class=" media-heading list-group-item-heading"> {{user.surname_first_name}} </h4>
      <div class="row">
        <div class="col-md-9">
          <p class="list-group-item-text">{{user.position}}</p>     
       </div>
     </div>      
    </a>
  </div>
</div>

在它旁边有一个块,其中显示了关于用户的全部信息。这里有一小块:

代码语言:javascript
复制
<div class="card-content">
  <form>
    <div class="row">
      <div class="col-md-3">
        <div class="form-group form-black label-floating is-empty">
           <label class="control-label">Surname</label>
           <input type="text" class="form-control" [(ngModel)]='user.surname' name="surname" >
        </div>
      </div>
      <div class="col-md-3">
         <div class="form-group form-black label-floating is-empty">
           <label class="control-label">Name</label>
           <input type="text" class="form-control" [(ngModel)]='user.name' name="name" >
          </div>
        </div>
        ....
     </div>
  </form>
</div>

下面是如何通过单击特定的列表用户,将其数据显示在一个包含信息的块中的方法。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-06-27 11:22:32

您可以向..list group-item添加一个单击事件绑定,它用所选用户的数据更新变量(selectedUser)。然后,您的块可以从selectedUser中提取数据。

用户列表html:

代码语言:javascript
复制
<div class="list-group" >
  <div class="media" *ngFor="let user of users">
    <a class="list-group-item" (click)="updateSelectedUser(user.id)">
      <h4 class=" media-heading list-group-item-heading"> {{user.surname_first_name}} </h4>
      <div class="row">
        <div class="col-md-9">
          <p class="list-group-item-text">{{user.position}}</p>     
       </div>
     </div>      
    </a>
  </div>
</div>

块html:

代码语言:javascript
复制
<div class="card-content">
  <form>
    <div *ngIf="selectedUser" class="row">
      <div class="col-md-3">
        <div class="form-group form-black label-floating is-empty">
           <label class="control-label">Surname</label>
           <input type="text" class="form-control" [(ngModel)]='selectedUser.surname' name="surname" >
        </div>
      </div>
      <div class="col-md-3">
         <div class="form-group form-black label-floating is-empty">
           <label class="control-label">Name</label>
           <input type="text" class="form-control" [(ngModel)]='selectedUser.name' name="name" >
          </div>
        </div>
        ....
     </div>
  </form>
</div>

组件TS文件:

代码语言:javascript
复制
....
export class YourComponentName  {

  selectedUser = null;

  users = [
    {'id': 1, 'position': 1, 'first_name': 'John', 'last_name': 'Adams'},
    {'id': 2, 'position': 2, 'first_name': 'Joan', 'last_name': 'Smith'}
  ]

  updateSelectedUser(userId) {
    this.selectedUser = this.users.find(el => {
      return el.id === userId
    })
  }
}

这里是一个堆栈闪电战,展示了概念https://stackblitz.com/edit/angular-hnjt3f的证明

票数 0
EN

Stack Overflow用户

发布于 2018-06-27 10:40:03

您可以从列表中“输出”选定的用户,然后将该用户“输入”到您正在创建的信息块中。尝试制作两个不同的组件和一个处理所有委托的父组件。

您可以参考https://embed.plnkr.co/OeUYze7djU90AWmc2Sno/来了解如何使用“输入”和“输出”。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51060396

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档