当您尝试搜索下拉列表中不存在的元素时,md-autocomplete在md-virtual-repeat-container中提供了一个名为md-not-found的类,并在其下方显示错误消息。从输入元素中删除焦点时,将删除md-not-found。因此,自动填充会给人一种有效输入的错误印象,因为没有向用户提供任何反馈。
有没有办法让类“md-not-found”,即使你没有聚焦输入元素?
md-autocomplete官方演示:https://material.angularjs.org/latest/demo/autocomplete
更新
我已经做了一个临时解决方案:
<label class="{{selectedItem !== null || searchText === '' ? '' : 'label-error'}}">Name</label>
标签错误类应用红色。
解决方案不是问题本身的答案,而是提供另一种快速解决方案
答案 0 :(得分:0)
我在md-chips中使用了md-autocomplete,它的工作和你想要的一样。 当请求返回时,noContent(204)md-not-found正在显示,并且在用户再次开始发短信之前它不会消失。
<md-content layout="column">
<md-chips
class="md-input"
ng-model="myItem"
md-autocomplete-snap
md-on-add="change()"
md-on-remove="change()"
required
md-require-match="true"
md-transform-chip="reformr($chip)"
md-separator-keys="keys">
<md-autocomplete md-selected-item="selectedItem"
md-no-cache="true"
md-search-text="search.text"
md-items="item in getSuggestedItems()"
md-item-text="item.name"
md-min-length="0"
placeholder="{{ 'textItemName' | translate }}"
required
md-input-name="suggestedItem"
md-search-text-change="listSuggestedItems(search.text)">
<span md-highlight-text="search.text" md-highlight-flags="^i">{{item.name}}</span>
<md-not-found>
{{'no_item_found' | translate}}
</md-not-found>
</md-autocomplete>
</md-content>
&#13;