Теги Angular ui-select для массива объектов

СИТУАЦИЯ:

У меня есть угловое приложение, которое отправляет электронные письма. Есть три поля: Адрес - Тема - Текст. Поле адреса создается с использованием углового ui-select.

Адрес электронной почты можно выбрать из списка или ввести заново. Проблема заключается в вводе нового адреса электронной почты.

Я пытаюсь использовать свойство тегов, чтобы получить его. Но, насколько я вижу, работает только тогда, когда пользовательский интерфейс состоит из массива простых строк, а не из массива объектов.

КОД:

<h3>Array of objects</h3>
<ui-select multiple tagging tagging-label="new tag" ng-model="multipleDemo.selectedPeople" theme="select2" ng-disabled="disabled" style="width: 800px;">
  <ui-select-match placeholder="Select person...">{{$item.name}} &lt;{{$item.email}}&gt;</ui-select-match>
  <ui-select-choices repeat="person in people | propsFilter: {name: $select.search, age: $select.search}">
    <div ng-bind-html="person.name | highlight: $select.search"></div>
    <small>
      email: {{person.email}}
      age: <span ng-bind-html="''+person.age | highlight: $select.search"></span>
    </small>
  </ui-select-choices>
</ui-select>
<p>Selected: {{multipleDemo.selectedPeople}}</p>

ПЛАНКЕР:

http://plnkr.co/edit/nngkvjiQmI44smcNGRGm?p=preview

Как видите, он работает правильно для простого массива строк, а не для массива объектов.

ВОПРОС:

Как я могу использовать теги в ui-select с массивом объектов?


person FrancescoMussi    schedule 04.12.2014    source источник


Ответы (1)


у вас отсутствует имя функции в атрибуте tagged.

пытаться

пометка = "тегпреобразование"

а затем добавьте функцию tagTransform в область контроллера

$scope.tagTransform = function (newTag) {
  var item = {
     name: newTag,
     email: newTag+'@email.com',
     age: 'unknown',
     country: 'unknown'
   };
   return item;
};

http://plnkr.co/edit/7fSAKmj3pLeeTaid4pMH?p=preview

person machaj    schedule 04.12.2014
comment
Для чего это стоит. Да, это можно сделать, установив: tagged-label=false. Источник: github.com/angular-ui/ui-select/issues/983< /а> - person Idrees; 24.06.2015