【问题标题】:md-autocomplete dropdown not updating simultaneously with the md-search-text-change callmd-autocomplete 下拉菜单不会与 md-search-text-change 调用同时更新
【发布时间】:2017-07-05 18:01:36
【问题描述】:

我使用 md-autocomplete 显示一个下拉菜单,并且我有 typeahead API,一旦我开始在输入框中输入,就会调用这些 API。问题是,它正在调用 typeahead API 并获取结果并将其设置为 JS 控制器中的变量,但只有当我在输入框中键入下一个字符或关闭并重新输入时,html 中的下拉列表才会显示过滤后的下拉结果- 单击下拉菜单。如何在有人开始输入时立即对下拉结果进行更改?我正在使用 md-search-text-change 来获取文本输入并调用相应的函数。

HTML 代码:

<md-autocomplete flex-gt-xs md-no-cache="true"
                 required placeholder="Choose a Value"
                 md-selected-item="vm.item.value"
                 md-search-text-change="vm.searchTextChange(vm.valueSearchText)"
                 md-search-text="vm.valueSearchText"
                 md-items="value in vm.item.valueList"
                 md-item-text="value.id"
                 md-min-length="0">

JS 控制器:

function searchTextChange(text) {
  service.getValueList(text).then(function (values) {
    vm.item.valueList = values;
  });
}

function getValues() {
  service.getValueList().then(function (values) {
    vm.item.valueList = values;
  });
}

因此,valueList 会使用 API 调用中的正确值进行更新,但我无法在下拉列表中看到最新的 valueList,而是在下拉列表中看到直接较旧的值。请帮忙。

【问题讨论】:

    标签: javascript angularjs md-autocomplete


    【解决方案1】:

    试试下面的

    HTML:

    <md-autocomplete flex-gt-xs md-no-cache="true"
                 required placeholder="Choose a Value"
                 md-selected-item="vm.item.value"
                 md-search-text-change="vm.searchTextChange(vm.valueSearchText)"
                 md-search-text="vm.valueSearchText"
                 md-items="value in vm.searchTextChange(vm.valueSearchText)"
                 md-item-text="value.id"
                 md-min-length="0">
    

    JS 控制器:

    function searchTextChange(text) {
      service.getValueList(text).then(function (values) {
        return values;
     });
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-10-01
      • 2018-02-04
      • 1970-01-01
      • 2016-06-29
      • 1970-01-01
      • 1970-01-01
      • 2017-08-11
      相关资源
      最近更新 更多