Как показать текстовое поле 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, как указано в документе. Может не получиться:)
надеюсь, что это сработает для вашей версии