Как предотвратить выбор (выпадающий) Angular1.0 лишним пробелом? - PullRequest
0 голосов
/ 07 июня 2018

Я работаю над приложением AngularJS 1.0 и сталкиваюсь с проблемой с Angular Select.

Просто копирую фиктивный код:

<select ng-model ="data.state" ng-options="data.states">

Выбор

Здесь этоперечисление состояний страны и передача данных по умолчанию в виде ng-модели.

Мне нужно показать текст «Выбрать», если значение по умолчанию не соответствует источнику данных.

Но это не работаеткак и ожидалось, и вместо выбора выберите пустое место.

Спасибо

Ответы [ 2 ]

0 голосов
/ 07 июня 2018
<select ng-model ="data.state" ng-options="data.states">

использовать трек в ng-repeat.отслеживать по $ index или id, если есть

0 голосов
/ 07 июня 2018

«Мне нужно показать текст« Выбрать », если значение по умолчанию не соответствует источнику данных».В этом случае ваш data.state может быть пустым (т.е. "") регистром.Возможно, вы ожидаете некоторой логики, подобной этой:

<label>States : </label>
  <select ng-model ="data.state" ng-options="data for data in data.states" >
    <option value="" selected hidden >SELECT</option> 
    <!--Removes the Empty space and shows "SELECT" as pre-populated by default in the drop-down. -->
  </select>
<br>Selected State : {{data.state}} 

Пустое пространство появляется как заполнитель, предлагаемый Angular для хранения текста, подобного "Select an option" или "Choose a best answer".Вы можете переопределить это, используя <option value="" selected hidden >Select</option>, который не будет отображаться в выбранном раскрывающемся списке опций, так как это hidden.

Если вы хотите, чтобы выбор отображался как опция для выбора пользователем вДля того чтобы поле оставалось пустым и не являлось обязательным, вместо него можно использовать следующий код:

 <option value="" selected >SELECT</option> 

В контроллере, ожидающем данные как:

 // $scope.data.state = something that is returned from some API response
 $scope.data = {
  states: [
    "Kerala",
    "Karnataka",
    "Andhra",
    "Haryana"
  ]
}

Оформить заказ на JS Fiddle здесь для рабочего образца.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...