在自动填充材质角度中的建议列表中添加带有链接的页脚

H_C*_*H_C 6 autocomplete angularjs angular-material

我正在使用(很棒的)Angular Material建立一个网站.我现在正在使用自动完成组件,我想在建议列表中添加固定页脚.您可以在下面的图片中看到,Pinterest将twitter和google +添加到用户搜索建议的页脚:

在此输入图像描述

我试图在html md-autocomplete组件中添加一个页脚:

<md-content layout-padding="" layout="column">
    <form ng-submit="$event.preventDefault()">
        <md-autocomplete ng-disabled="ctrl.isDisabled" md-no-cache="ctrl.noCache" md-selected-item="ctrl.selectedItem" md-search-text-change="ctrl.searchTextChange(ctrl.searchText)" md-search-text="ctrl.searchText" md-selected-item-change="ctrl.selectedItemChange(item)" md-items="item in ctrl.querySearch(ctrl.searchText)" md-item-text="item.name" md-min-length="0" placeholder="e-mail of naam " md-menu-class="autocomplete-custom-template">
            <md-item-template>
                <span class="item-title">
                    <md-icon md-svg-icon="img/icons/octicon-repo.svg"></md-icon>
                    <span> {{item.name}} </span>
                </span>
            </md-item-template>
            <md-item-template>
                <footer><a href="">Some link</a></footer>   
            </md-item-template>
        </md-autocomplete>
    </form>
</md-content>
Run Code Online (Sandbox Code Playgroud)

不幸的是,这不起作用,没有任何东西显示.以下是材料自动完成的工作示例.

有人知道如何在Angular Material Autocomplete的建议中添加固定的页脚吗?欢迎所有提示!

all*_*kim 3

我认为您不能将额外的模板添加到md-autocomplete. 我相信md-autocomplete清理选择列表,并通过重复重建它md-item-template

因此,最好在搜索结束时添加额外的数据。

这是一个例子。 http://codepen.io/anon/pen/xGyLXP?editors=101

控制器零件

self.fixedOnes = [
  {'name'      : 'FIXED1', type: 'fixed'},
  {'name'      : 'FIXED2', type: 'fixed'},
  {'name'      : 'FIXED3', type: 'fixed'}
];
Run Code Online (Sandbox Code Playgroud)

html部分

<md-autocomplete  ...
  md-items="item in (ctrl.querySearch(ctrl.searchText).concat(ctrl.fixedOnes))" ... >
    <md-item-template>
      <div ng-class="{fixed:item.type=='fixed'}">
        <span> {{item.name}} </span>
      </div>
    </md-item-template>
  </md-autocomplete>
Run Code Online (Sandbox Code Playgroud)

------------- 编辑 -----------------------
对于不同的样式和内容,您可以使用ng-class, ng-if, ofng-show明智地,因为内容md-item-template已编译。

我已经更新了固定答案的上述答案,使其具有不同的风格。