Я хочу, чтобы мой автозаполненный угловой материал был списком предложений, но не требований. Однако я не уверен, как реализовать, поскольку их нет четкого примера из документов Angular Material.Свободный ввод текста в угловой материал mdAutoComplete
В примере ниже моей модели $ctrl.item.category
Очевидно, что ниже пример является неправильным, так как моя модель связана с md-selected-item
, но это работает только, если выбрать элемент. Я хочу, чтобы пользователь мог свободно вводить текст, если элемент отсутствует в списке. В основном, как автозаполнение уже работает в большинстве браузеров.
Я вижу много вопросов о том, как отключить это, но они не пытаются отключить так сильно, как очистить текст слева от текста, когда элемент не выбран. В тех случаях, когда элемент не выбран, значение модели равно null
, но текст остается на входе.
Я хочу, чтобы текст оставался введенным в качестве значения модели, если человек не выбирает (или совпадение не производится).
md-autocomplete(
md-floating-label="Category Name"
flex="50"
md-input-name="category"
md-selected-item="$ctrl.item.category"
md-search-text="catSearch"
md-items="category in $ctrl.categories"
md-item-text="category"
md-min-length="0"
md-select-on-match=""
md-match-case-insensitive=""
required=""
)
md-item-template
span(md-highlight-text="catSearch" md-highlight-flags="^i") {{category}}
Мои варианты ($ctrl.categories
) представляет собой массив строк ['Food','Liqour']
и я тусклый пользователь, чтобы иметь возможность использовать один из тех или бесплатно ввести Tables
как их выбор.
Благодарим за отзыв. Этот подход не работает, потому что вход не привязан к какому-либо из крючков проверки. Если вы используете 'required', тогда и выбор должен быть сделан, а текст в поле недостаточно. – Meeker
Похоже, что md-autoselect использует ** md-selected-item ** при проверке. Вы можете проверять/недействить поля вручную, используя что-то вроде '$ scope.formName.inputName. $ SetValidity (errorKey, isValid)' – masitko
из того, что похоже на пару PR, которые пытаются проталкивать, что может решить эту проблему. Основываясь на том, что я могу сказать, mdAutocomplete никогда не предназначалось для того, чтобы быть полем предложений, традиционно используемым в браузере, но больше из блока выбора с текстовым фильтром ввода. – Meeker