Angular Materials: Можете ли вы отключить автозаполнение предложений для ввода?
Я просто использую простые входные контейнеры, такие как этот
<md-input-container class="md-block" flex-gt-sm >
<label>Name</label>
<input md-maxlength="30" name="name" ng-model="name" />
</md-input-container>
Поле ввода предлагает ранее введенные значения, что скрывает некоторые важные элементы интерфейса, и в моем случае это действительно не нужно. Есть ли способ отключить предложения?
7 ответов
Добавьте autocomplete="off" к элементу ввода, вот так:
<input md-maxlength="30" name="name" ng-model="name" autocomplete="off" />
Смотрите это для справки.
Браузеры часто игнорируют autocomplete="off" для входных данных, которые не имеют атрибута имени или имеют его значение, общее для функции автозаполнения (имя, адрес электронной почты, улица, страна...).
В моем случае достаточно присвоить входу необычное имя.
<input type="text" name="someUnusualName" autocomplete="off">
Добавьте autocomplete = "off" во ввод, но для современного браузера используйте autocomplete = "nope"
Устаревший браузер
<input md-maxlength="30" name="name" ng-model="name" autocomplete="off" />
Современный браузер
<input md-maxlength="30" name="name" ng-model="name" autocomplete="nope" />
На всякий случай, если у кого-то был такой же опыт со мной (поскольку текущий ответ не работал на моем Chrome), я использовал, как показано ниже, и это сработало:
<input md-maxlength="30" name="name" ng-model="name" autocomplete="new-password" />
Новые браузеры, похоже, смотрят на поле идентификатора или поле имени, чтобы определить, что вы ищете, с помощью автозаполнения. Я начал писать наоборот, когда хотел отключить автозаполнение.
Тег проблемы - всплывающее окно автозаполнения
<input id='cp_state_i' required />
Исправление - не автозаполнение всплывающего окна
<input id='cp_etats_i' required />
Моя проблема заключалась в том, что я использовал список опций автозаполнения для состояний. Всплывающее окно было проблемой. Это было мое исправление, может вам помочь.
Еще одна вещь, которая, кажется, работает с некоторыми текстовыми полями, - это
<input autocomplete='new-password'/>
Я удаляю текст type=', и он перестанет выскакивать. но по какой-то причине он работал не со всем, а только с некоторыми вещами.
Я не уверен, почему браузеры больше не соблюдают autocomplete='off'. Это создает некоторые проблемы при работе с CRUD и другими разумными операциями, кроме простых форм входа в систему.
<input type="text" id="example" placeholder="" matInput [(ngModel)]="item.productDescription" [matAutocomplete]="product" [matAutocompleteDisabled]="condition"/>
просто используйте свойство [matAutocompleteDisabled] с допустимым условием.
Просто используйте ввод
type="search"
у тебя все будет отлично. Протестировано в Google Chrome версии 92.0.4515.107 (официальная сборка) (arm64)
Например:
<input type="search" name="namesearch" id="search-cust" placeholder="Shop Name" style="width:170px" />