【问题标题】:How to implement dropdown menu as per below requirements in angular2如何在angular2中按照以下要求实现下拉菜单
【发布时间】:2018-01-26 18:10:19
【问题描述】:

默认情况下,我想在下拉列表中设置值:{{getTeamName(employee.team)}} 并绑定来自{{team.$value}} 的值。

<div class="form-group">
    <label for="team">Designation</label>
    <select [(ngModel)]="selectedValue" [ngModelOptions]={standalone:true}">
        <option *ngFor="let team of teams">{{team.$value}}</option>
    </select>
</div>

功能:

getTeamName(key) {
    let result = this.teams.filter(item => item.$key == key);
    if (result.length > 0) {
        return result[0].$value;
    }
    return '';
}

【问题讨论】:

    标签: html angular


    【解决方案1】:

    您可以直接考虑绑定emplyee.team 以在ngModel 中预填充team 对象,并在选项级别使用[ngValue]="team" 在下拉列表中填充team 值。不确定team.$value 是什么,我假设你想显示team.name

    <div class="form-group">
       <label for="team">Designation</label>
       <select [(ngModel)]="employee.team" [ngModelOptions]={standalone:true}">
           <option [ngValue] *ngFor="let team of teams">{{team.name}}</option>
       </select>
    </div>
    

    【讨论】:

    • 在employee.tam中只存储了团队的key,在team中存储了团队的key和value
    • @Krunal 我不明白,你能详细说明一下吗?
    • 所以我使用 getTeamName(employee.team) 在employee.team 中获得了团队名称
    • 那么呢? team.$value 是什么?
    • @Krunal 你采用的方法有问题
    【解决方案2】:
      <select [(ngModel)]="employee.team" [ngModelOptions]="{standalone: true}">
          <option *ngFor="let team of teams"  [value]="team.$key" [selected]="employee.team == team.$key" >{{team.$value}}</option>
      </select>
    

    【讨论】:

    • 通常最好解释一个解决方案,而不是仅仅发布一些匿名代码行。你可以阅读How do I write a good answer,也可以阅读Explaining entirely code-based answers
    • 解释了问题,但没有解决。此外,如果这是您问题的最终解决方案,您应该将其视为已接受的解决方案。
    • 这如何解决你的问题,请解释一下,只是写一个答案并不意味着对其他人有帮助?
    猜你喜欢
    • 2022-08-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多