<ng-select tag =“”>中BindLabel的Angular 6 Concat字符串

时间:2018-06-14 22:34:15

标签: angular concat angular-ngselect

使用Angular 6,我想在 ng-select标签中的 bindLabel concat名字和姓氏

这是我的HTML: ng-select [items] =&#34;人员&#34; bindLabel =&#34;名字&#34; bindValue =&#34;标识&#34; [(ngModel)] =&#34;将selectedItem&#34;占位符=&#34;人&#34;

有什么想法吗? bindLabel =&#34; LastName +&#39; &#39; +姓&#34;的 =&GT;不起作用 bindLabel =&#34; person.Name as(person.LastName +&#39;&#39; person.FirstName)for person person in persons&#34;的 =&GT;不起作用

2 个答案:

答案 0 :(得分:1)

显示全名的更好方法是:

 <ng-select required [items]="buddies" bindLabel="firstName" #buddiesInput="ngModel" [(ngModel)]="userSelect" name="userSelect" >
                        <ng-template ng-label-tmp let-item="item">
                            {{item.firstName}} {{item.lastName}}
                        </ng-template>
                        <ng-template ng-option-tmp let-item="item" let-search="searchTerm">
                            {{item.firstName}} {{item.lastName}}
                        </ng-template>
                    </ng-select>

答案 1 :(得分:0)

相当老的问题,但我仍然会回答。我碰巧遇到了这个问题,因为我也在寻找相同的解决方案。

可能不是最佳实践,或者可能有更好的解决方案,但我只是为数组创建了一个映射,因此可以为full_name创建一个新字段。

请参阅下面的代码,如果这样做可以帮助您。

模板

  <ng-select 
    [(ngModel)]="_selected_user" 
    [items]="_all_users" 
    placeholder="Select User"
    bindLabel="full_name"
    bindValue="id"
    >

    <ng-template ng-option-tmp let-item="item" let-search="searchTerm">
        <div><span></span><span [ngOptionHighlight]="search">{{item.full_name }}</span></div>
        <small>User ID: <b>{{item.user_id}}</b> </small>
    </ng-template>

  </ng-select>

组件

      users.map(
        (user: any) => {
          user.full_name = user.last_name + ', ' + member.first_name + ' ' + member.middle_name
          return member;
        }
      )

此功能将使您可以通过first_namelast_namemiddle_name或完全在一个搜索键中进行搜索。