【问题标题】:How to change options when searching in md-autocomplete在 md-autocomplete 中搜索时如何更改选项
【发布时间】:2017-12-10 02:36:42
【问题描述】:

输入时如何更改选项。当我输入过滤器时它不能正常工作它显示所有列表我想根据搜索更改列表文本请帮助我。

<md-autocomplete
    ng-disabled="Ctrlmain.isDisabled"
    md-no-cache="Ctrlmain.noCache"
    md-selected-item="Ctrlmain.selectedItem"
    md-search-text="Ctrlmain.campaignname"
    md-selected-item-change="Ctrlmain.filltextbox(item)"
    md-items="item in Ctrlmain.getMatches(Ctrlmain.campaignname)  | unique:'campaign_name'"
    md-item-text="item.campaign_name"
    md-min-length="0"
    placeholder="Pick an Angular repository"
    md-menu-class="autocomplete-custom-template">
        <md-item-template>
            <span class="item-title">                                
                <span> {{item.campaign_name}} </span>
            </span>
        </md-item-template>
</md-autocomplete>

角度方法

complete(str){

    var output = [];
    angular.forEach(this.viewData,function(campaignname){
      if(campaignname.campaign_name.toLowerCase().indexOf(str.toLowerCase())>=0){
        output.push(campaignname.campaign_name);

      };
    });
  return output.campaign_name;
}

filltextbox(st){   
   return st;
}

【问题讨论】:

    标签: angularjs angularjs-directive angularjs-ng-repeat md-autocomplete


    【解决方案1】:

    返回md-search-text-change 上的匹配项不起作用。您的md-autocomplete 绑定到Ctrlmian.viewData。如果这样可行,您必须在complete 函数的末尾修改所述数组。此外,当您尝试返回 output.campaign_name 时,您的代码本质上是错误的,其中 output 是一个数组。或者你可以这样试试……

    <md-autocomplete
        ng-disabled="Ctrlmain.isDisabled"
        md-no-cache="Ctrlmain.noCache"
        md-selected-item="Ctrlmain.selectedItem"
        md-search-text="Ctrlmain.campaignname"
        md-selected-item-change="Ctrlmain.filltextbox(item)"
        md-items="item in Ctrlmain.getMatches(Ctrlmain.campaignname)  | unique:'campaign_name'"
        md-item-text="item.campaign_name"
        md-min-length="0"
        placeholder="Pick an Angular repository"
        md-menu-class="autocomplete-custom-template">
            <md-item-template>
                <span class="item-title">                                
                    <span> {{item.campaign_name}} </span>
                </span>
            </md-item-template>
    </md-autocomplete>
    

    请注意,我已经删除了 md-search-text-change。我正在使用您的过滤器函数为md-autocomplete 动态呈现项目,如下所示。

    getMatches(str) {
        var output = [];
        angular.forEach(this.viewData,function(campaignname) {
            if(campaignname.campaign_name.toLowerCase().indexOf(str.toLowerCase())>=0) {
                output.push(campaignname);
            };
        });
        return output;
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-02
      相关资源
      最近更新 更多