2016-12-07 6 views
0

В угловом материала демо, когда я проверить автозаполнение плавающий пример этикетки, он не сможет правильно работать с ошибкамимкр-автозаполнения с ошибками работает в первый раз только

https://material.angularjs.org/latest/demo/autocomplete

  1. Нажмите на «любимца состояние»и нажмите кнопку из> отображается сообщение об ошибке: OK
  2. Обновить страницу, нажмите на„любимом государстве“, введите„ххх“и нажмите кнопку из> отображается сообщение об ошибке: OK
  3. Теперь, не обновляйте муравей сбросить поле> сообщение об ошибке, а поле красного цвета: Не работает для меня, я не ожидал бы обязательные для заполнения Сообщение об ошибке
  4. введите «ххх» снова, сообщение об ошибке

У вас есть решение, чтобы сообщения об ошибках работали правильно?

plunker пример: https://plnkr.co/edit/AmTLs4mbRsxgSNjEKvhn код MD-autaucomplete поле

<md-autocomplete flex required 
     md-input-name="autocompleteField" 
     md-input-minlength="2" 
     md-input-maxlength="18" 
     md-no-cache="ctrl.noCache" 
     md-selected-item="ctrl.selectedItem" 
     md-search-text="ctrl.searchText" 
     md-items="item in ctrl.querySearch(ctrl.searchText)" 
     md-item-text="item.display" 
     md-require-match 
     md-floating-label="Favorite state"> 
     <md-item-template> 
     <span md-highlight-text="ctrl.searchText">{{item.display}}</span> 
     </md-item-template> 
     <div ng-messages="searchForm.autocompleteField.$error" ng-if="searchForm.autocompleteField.$touched"> 
     <div ng-message="required">You <b>must</b> have a favorite state.</div> 
     <div ng-message="md-require-match">Please select an existing state.</div> 
     <div ng-message="minlength">Your entry is not long enough.</div> 
     <div ng-message="maxlength">Your entry is too long.</div> 
     </div> 
    </md-autocomplete> 

благодаря

+0

воспроизводить выпуск на плунжере – Sajeetharan

+0

спасибо. Я буду использовать это исправление –

ответ

1

Кажется, ошибка.

Есть несколько взаимосвязанных ошибок, по крайней мере, к примеру: https://github.com/angular/material/issues/6767

Самый простой обходной путь я нашел для случая в демонстрационной либо заменить ng-if="searchForm.autocompleteField.$touched" с ng-show или удалить его полностью.

 Смежные вопросы

  • Нет связанных вопросов^_^