4

使用 Angular 6,我想在ng-select 标记内的bindLabel中连接名字和姓氏

这是我的 html:ng-select [items]="persons" bindLabel="LastName" bindValue="Id" [(ngModel)]="selectedItem" placeholder="person"

任何想法 ?bindLabel="LastName + ' ' +FirstName" => 不起作用 bindLabel="person.Name as (person.LastName + ' ' person.FirstName) for person in people" => 不起作用

4

2 回答 2

11

显示全名的更好方法是:

 <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>
于 2018-09-18T03:00:47.680 回答
1

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

可能不是最佳实践,或者可能有更好的解决方案,但我刚刚为我的数组创建了一个地图,这样我就可以为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或完全在一个搜索键中进行搜索。

于 2018-08-03T09:42:18.960 回答