Как показать текстовое поле SearchFilter, даже если в раскрывающемся списке Angular Multiselect не загружены данные

Угловая версия: 8

версия ng-multiselect-dropdown: ^0.2.10

В моем случае пользователь должен иметь возможность начать вводить текст в поле поиска для динамической загрузки результатов в раскрывающийся список. Но в ng-multiselect-dropdown searchbox для отображения требуется хотя бы одна строка данных. Есть ли способ всегда показывать фильтр поиска, независимо от того, доступны ли данные.

this.dropdownList = [];

  this.dropdownSettings= {
  singleSelection: false,
  idField: 'item_id',
  textField: 'item_text',
  selectAllText: 'Select All',
  unSelectAllText: 'UnSelect All',
  itemsShowLimit: 3,
  allowSearchFilter: true
};

введите описание изображения здесь

2 ответа

Я опаздываю с ответом, но это может быть полезно, если кто-то снова задаст тот же вопрос. Добавлять allowRemoteDataSearch:true к вашим вариантам раскрывающегося списка.

Вы можете сослаться на эту ветку

https://github.com/NileshPatel17/ng-multiselect-dropdown/issues/182

Я бы поставил запись "нет данных", когда нет результата, и удалил бы, когда в этом нет необходимости. Как вы думаете, вы уже используете это: onFilterChange?

dropdownList = [];

onFilterChange(data) => { // basic
    const defaultOption = {item_id: -1, item_text: ‘no data available’}
    if(this.dropdownList.length > 1) {
        this.dropdownList.shift();
        this.dropdownSetting.defaultOpen = false;
    } else {
        this.dropdownList.push(defaultOption);
        // leaving the drop down open
        this.dropdownSetting.defaultOpen = true;
    }
}

Как и я, я бы закончил США, используя noDataAvailablePlaceholderText, как указано в документе. Может не получиться:)

надеюсь, что это сработает для вашей версии

Другие вопросы по тегам