1

我们有一个带有所需属性的 md-autocomplete 指令。预期的行为是在用户进入表单视图时隐藏 ng-message,然后如果单击提交按钮并且自动完成为空,或者如果开始在其上输入并将其留空,则显示验证错误。

验证工作正常,但是当用户从自动完成中选择建议时,验证错误会立即显示并隐藏,如您在 gif 中看到的那样。

验证错误闪烁

使用角材料 1.0.9。

md-autocomplete 的代码:

<md-autocomplete
  flex
  required
  id="name"
  md-input-name="name"
  md-search-text="ctrl.searchCustomer"
  md-selected-item-change="ctrl.selectedCustomerChange(item)"
  md-items="item in ctrl.queryCustomer(ctrl.searchCustomer)"
  md-item-text="item.display"
  md-min-length="0"
  md-floating-label="{{'Customer' | translate}}">

    <md-item-template>
        <span 
          md-highlight-text="ctrl.searchCustomer"
          md-highlight-flags="^i">
            {{item.display}}
        </span>
    </md-item-template>
    <div 
      ng-show="ctrl.forms.profileForm.name.$error && ctrl.forms.profileForm.name.$touched"
      ng-messages="ctrl.forms.profileForm.name.$error">
        <div ng-messages-include="components/global/error-list.html">
        </div>
    </div>
 </md-autocomplete>

有没有办法避免这个问题?

4

0 回答 0