ui-select теряет все параметры при выборе элемента из раскрывающегося списка [дубликат]

В Java все находится в форме класса.

Если вы хотите использовать любой объект, тогда у вас есть две фазы:

  1. Объявить
  2. Инициализация

Пример:

  • Объявление: Object a;
  • Инициализация: a=new Object();

То же самое для концепции массива

  • Объявление: Item i[]=new Item[5];
  • Инициализация: i[0]=new Item();

Если вы не дают секцию инициализации, тогда возникает NullpointerException.

29
задан Syed 26 September 2014 в 15:00
поделиться

2 ответа

В вашем примере сначала вы должны инициализировать свой availableColors в качестве пустого массива:

$scope.availableColors = [];

Затем вы можете написать свой простой сервис с помощью $http:

$http.get('data.json').then(
  function (response) {
    $scope.availableColors = response.data;
    $scope.multipleDemo.colors = ['Blue','Red'];
  },
  function (response) {
    console.log('ERROR!!!');
  }
);

Итак, теперь вы можете использовать этот код без предварительного определения вашего availableColors по некоторым значениям.

Демо: http://plnkr.co/edit/BcJOezOABxSuc2fa5lRy?p= Предварительный просмотр

В этом примере я добавил файл data.json, который содержит массив цветов.

Это очень простой пример, но я надеюсь, что он вам поможет. Изменения начинаются с line 118 в файле demo.js.

Редактировать

Если вы хотите динамически обновлять список вариантов, вы можете использовать атрибуты refresh и refresh-delay директивы ui-select-choices.

Первый атрибут, как вы можете догадаться, получает функцию, подобную

refresh="funcAsync($select.search)"

, которая будет вызываться каждый раз, когда вы вводите что-либо. И вы можете использовать второй атрибут как

refresh-delay="0"

. Как вы можете догадаться, он используется для заданной задержки вызова функции refresh в миллисекундах. По умолчанию это значение установлено на 1000.

Демо: http://plnkr.co/edit/BcJOezOABxSuc2fa5lRy?p=preview

I обновил мой плунжер, поэтому решил не писать собственные бэкэнд-функции. Вот почему вы можете проверить это, просто набрав red в первом поле ui-select - значения будут получены из другого файла .json - data1.json.

Надеюсь, это вам поможет.

54
ответ дан Luc125 18 August 2018 в 16:14
поделиться
  • 1
    Я хочу вызвать службу каждый раз, когда пользователь вводит некоторые значения в поле ввода, и служба вернет отфильтрованный результат на основе ввода значения в текстовом поле. Это необходимо, если у меня больше записей, так как выборка всех записей сразу не является хорошим решением – Syed 27 September 2014 в 06:57
  • 2
  • 3

Поскольку вы сказали:

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

Я полагаю, что вы должны $watch ввести значение для изменения и запросить удаленный источник при изменении значения

-3
ответ дан developer10 18 August 2018 в 16:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: