Angular 材质选项卡和自动完成功能

Posted

技术标签:

【中文标题】Angular 材质选项卡和自动完成功能【英文标题】:Angular Material Tabs and autocomplete 【发布时间】:2016-03-23 08:08:00 【问题描述】:

我在我的 html 页面中使用 md-tab,并且在每个选项卡中我使用如下自动完成组件:

<md-autocomplete                        
            md-selected-item="selectedItem"
            md-search-text-change="searchTextChange(searchText)"
            md-search-text="searchText"
            md-selected-item-change="selectedItemChange(item)"
            md-items="item in querySearch(searchText) | orderBy:'text'"
            md-item-text="item.text"
            md-min-length="0"
            placeholder="Easy filter"
            md-menu-class="autocomplete-custom-template">
            <md-item-template style="background-color:white;">
                <span class="select-title">
                    <span class="item-tags"> item.text </span>
                </span>
            </md-item-template>
        </md-autocomplete>

我在所有标签中都使用相同的代码。问题是:当我点击自动完成组件时,我得到两个列表:一个在我的自动完成框下方(这是正常的),一个在左侧,这是另一个选项卡中另一个自动完成框的列表.

为什么会这样显示?有解决办法吗?

【问题讨论】:

你用过material.angularjs.org吗?抱歉,我刚开始使用 angular.js,所以我可能帮不上忙 是的,版本 0.11.1 他们都显示相同的东西是否表明它们链接到同一个模型,即范围对象? 是的,它们链接到同一个模型。这是我的目的。 无法复制它。你可以尝试创建一个 Plunker 吗? 【参考方案1】:

我尝试使用 Angular 1.3.0 和 Angular-Material 0.11.4 进行复制并且工作正常。

您可以尝试在每个 md-autocomplete 中放置一个 md-input-id="theInputId"。作为最后的手段,使用自动完成 id 和选项卡 $index 将每个自动完成与每个选项卡链接起来,禁用非活动选项卡的自动完成。

【讨论】:

我为所有自动完成提供了相同的 md-input-id 但没有解决问题

以上是关于Angular 材质选项卡和自动完成功能的主要内容,如果未能解决你的问题,请参考以下文章

仅使用 getOptionLabel 字段进行材质自动完成过滤

具有高级自动完成功能的 Angular TextEditor

将角度/材质包更新到最新版本后,角度材质自动完成组件不显示项目

材质 ui 自动完成,带有图标

材质 UI 自动完成

如何将鼠标悬停在角度自动完成选项上