как очистить поле, когда пользовательский интерфейс находится в отключенном состоянии?

Подскажите, пожалуйста, как очистить поле или убрать поле в отключенном состоянии? В этом примере я использую UI-select. Я добавляю одно условие всякий раз, когда пользователь выбирает Nicole, он отменяет выбор пользовательского интерфейса (пользователь больше не может выбирать параметры). Но я хочу, чтобы пользователь мог очистить/удалить Nicole в отключенном режиме.

Пример: если пользователь по ошибке выбирает вариант Nicole, то у него нет возможности выбрать любой другой вариант. Итак, могу ли я очистить параметр Nicole в отключенном состоянии?

Вот мой плункер.

$scope.OnClickSelect = function(item) {
    if (item.name === 'Nicole') {
      if ($scope.multipleDemo.length > 0) {
        $scope.multipleDemo.pop =[];
      }
      $scope.disabled = true;
    }
    $scope.multipleDemo.push(item.age);
  }

person user944513    schedule 29.09.2016    source источник


Ответы (1)


Вопрос не ясен. Вы хотите включить выбор пользовательского интерфейса даже после выбора «Николь» или просто хотите очистить ng-модель?

Если вы хотите дать возможность включить выбор пользовательского интерфейса, когда пользователь случайно выбирает «Николь», вы должны сохранить флажок или любой триггер, который устанавливает $scope.disabled = false;

Также еще 2 проблемы с вашим методом OnClickSelect.

Я предполагаю, что вы пытаетесь очистить ng-moodel, когда пользователь выбирает «Николь», но $scope.multipleDemo.pop =[]; создает новое свойство с именем pop для массива multipleDemo. Если вы хотите очистить массив, используйте $scope.multipleDemo =[];

Почему вы помещаете только свойство age в массив multipleDemo? Если вы хотите, чтобы сохранялось только свойство age, вы можете использовать следующий синтаксис в своем коде ui-select

 <ui-select-choices  repeat="person.age as person in people | filter:$select.search">
      {{person.name}}
    </ui-select-choices>
person Gowthaman    schedule 29.09.2016