编程语言
首页 > 编程语言> > javascript-md-autocomplete-删除建议中的选定项目

javascript-md-autocomplete-删除建议中的选定项目

作者:互联网

我试图在用户选择一个项目并将其标记为收藏时删除建议中的md项目.这里要澄清的问题是下面的结构.

假设我们具有这种状态结构.

function loadAll() {

      var allStates = [
          {
             display : Alabama,
             value : alabama,
             is_favorite : false
          },
          {
             display : Alaska,
             value : alaska,
             is_favorite : false
          },
          {
             display : California,
             value : california,
             is_favorite : false
          },
          {
             display : Colorado,
             value : colorado,
             is_favorite : false
          },
          {
             display : Florida,
             value : florida,
             is_favorite : false
          },
          {
             display : Georgia,
             value : georgia,
             is_favorite : false
          },
      ];

      return allStates;
}

这是我在用户选择对象时将状态标记为“收藏夹”时所做的操作,我将该对象放置在功能md-selected-item-change上.

function selectedItemChange(object) {
    if (object) {
        object.is_favorite = true;
    }
}

现在可以更改createFilterFor()以从结果中排除选择特定状态后具有is_favorite == true的状态?

function createFilterFor(query) {
  var lowercaseQuery = angular.lowercase(query);

  return function filterFn(state) {
    return (state.value.indexOf(lowercaseQuery) === 0);
  };

}

香港专业教育学院到目前为止已经尝试过,但是不能提供正确的结果.

return (state.value.indexOf(lowercaseQuery) === 0 && state.is_favorite == false);

UPDATE

CODEPEN DEMO

解决方法:

有一个简单的解决方法:

md-items="item in ctrl.querySearch(ctrl.searchText)| filter:{ is_favorite:false }"

您所要做的就是将过滤器放到控件的源代码中.

请检查代码笔:http://codepen.io/ash972/pen/ZLYNPM

标签:angularjs,angular-material,md-autocomplete,javascript
来源: https://codeday.me/bug/20191026/1936144.html