首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >包含部分的Ngb Typehead结果

包含部分的Ngb Typehead结果
EN

Stack Overflow用户
提问于 2019-10-01 18:49:07
回答 1查看 76关注 0票数 0

我想自定义ngb typeahead dropdown.so远管理创建this .when我尝试在模板中呈现我的列表,它将子部分渲染为一个项目,恰好添加了一个新的部分按钮。我想实现如下图所示的效果。

EN

回答 1

Stack Overflow用户

发布于 2019-10-02 00:40:40

您总是可以添加一个“愚蠢”元素,并使用ng-container来提供不同的隔离。或多或少像your forked stackblitz

在搜索中,我们添加一个元素

代码语言:javascript
复制
search = (text$: Observable<string>) => {
    const debouncedText$ = text$.pipe(debounceTime(200), distinctUntilChanged());
    const clicksWithClosedPopup$ = this.click$.pipe(
        //see that I change the filter adding this.instance &&
        filter(() => this.instance && !this.instance.isPopupOpen()));
    const inputFocus$ = this.focus$;

    return merge(debouncedText$, inputFocus$, clicksWithClosedPopup$).pipe(
      map((term: string) => (term === '' ? category
        : category.filter(v => v.categoryName.toLowerCase().indexOf(term.toLowerCase()) > -1))
        .slice(0, 10) //add a new value with categoryId=0
        .concat([{categoryId: 0,categoryName: "Add",subCategoriesList:[]}]))
    );
  }

和模板,如

代码语言:javascript
复制
<ng-template #rt let-r="result" let-t="term">
    <ng-container *ngIf="r.categoryId">
        <li style="color:green">{{r.categoryName}}</li>
        <li *ngFor="let item of r['subCategoriesList']">
            {{item}}
        </li>
    </ng-container>
    <ng-container *ngIf="r.categoryId==0">
         <li><button class="btn">Add</button></li>
  </ng-container>
</ng-template>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58183248

复制
相关文章

相似问题

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