首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Angular-bootstratp ui typeahead无匹配结果

Angular-bootstratp ui typeahead无匹配结果
EN

Stack Overflow用户
提问于 2015-09-04 18:51:41
回答 2查看 9.8K关注 0票数 3

嗨,我在我的angularjs站点中使用bootstrap ui typeahead。这很好用。我只是想知道,当用户输入列表中没有的内容时,是否可以显示一些类似"No matches found“的文本。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-09-05 20:41:40

typeahead指令包含了一个属性typeahead no-results。

下面是一个示例:

代码语言:javascript
运行
复制
<input type="text" ng-model="asyncSelected" placeholder="Placeholder Text" typeahead="address for address in getLocation($viewValue)" typeahead-no-results="noResults" class="form-control">

然后使用ng-if或ng-show显示错误消息。

代码语言:javascript
运行
复制
<div ng-if="noResults">
  No Results Found!
</div>

要获得更多阅读材料,请务必查看bootstrap-ui docs

票数 11
EN

Stack Overflow用户

发布于 2019-09-10 15:48:50

typeahead-no-results选项不支持多个typeaheads,在我看来非常笨拙。您可能希望显示"No matches found“,而不是显示结果,而不是其他位置。

我被迫对选择时调用的方法中的UibTypeaheadController做了一个非常小的变通:

代码语言:javascript
运行
复制
scope.select = function(activeIdx, evt) {

    if (scope.matches.length === 1 
        && scope.matches[activeIdx].model != null 
        && scope.matches[activeIdx].model.noMatchesFound) {
        return;
    }

此外,当搜索回调中没有匹配项时,我不得不推送一个虚拟对象:

代码语言:javascript
运行
复制
    if (matches.length === 0) {
        matches.push({ 
                      displayProperty: "No matches found", 
                      noMatchesFound: true 
                     });
    }
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32396288

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档