关于 angularjs:在自动完成材料 angular 的建议列表中添加带有链接的页脚

Add footer with link in list of suggestions in autocomplete material angular

我正在使用(看起来很棒的)Angular 材质构建一个网站。我现在正在使用自动完成组件,我想在建议列表中添加一个固定的页脚。如下图所示,Pinterest 将 twitter 和 google 添加到用户搜索建议的页脚:

enter

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<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>Some link</footer>  
            </md-item-template>
        </md-autocomplete>
    </form>
</md-content>

不幸的是,这不起作用,什么都没有显示。这是材质自动完成的工作示例。

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


我认为您不能在 md-autocomplete 中添加其他模板。
我相信 md-autocomplete 清理选择列表,并通过重复 md-item-template

来重建它

因此,最好在搜索结束时添加其他数据。

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

控制器部件

1
2
3
4
5
self.fixedOnes = [
  {'name'      : 'FIXED1', type: 'fixed'},
  {'name'      : 'FIXED2', type: 'fixed'},
  {'name'      : 'FIXED3', type: 'fixed'}
];

HTML部分

1
2
3
4
5
6
7
8
<md-autocomplete  ...
  md-items="item in (ctrl.querySearch(ctrl.searchText).concat(ctrl.fixedOnes))" ... >
    <md-item-template>
     
        <span> {{item.name}} </span>
     
    </md-item-template>
  </md-autocomplete>

------------- 编辑 -----------
对于不同的样式和内容,您可以明智地使用 ng-showng-classng-if,因为 md-item-template 的内容是经过编译的。

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