Wprowadzam typeahead przy użyciu AngularUI-Bootstrap. Muszę pokazać wyniki pogrupowane na podstawie niektórych wartości pochodzących z bazy danych. Oto przykładowy scenariuszAngularUI-Bootstrap Typeahead: Grupowanie wyników
- W bazie danych jest kilku użytkowników, każdy użytkownik ma "Dział". Jedna nazwa użytkownika może być dostępna w wielu działach.
- Typy użytkowników końcowych w nazwach do wyszukiwania użytkowników z bazy danych i pobierania listy na liście wpisów. Ponieważ jedna nazwa użytkownika może należeć do wielu działów, wymagane jest wyświetlanie nazw użytkowników pogrupowanych według różnych działów. Coś takiego:
- Następnie użytkownik może wybrać żądaną nazwę użytkownika i kontynuować.
Zgodnie z dokumentacją obecny hereTypeahead
, nie widzę żadnych opcji, aby zaspokoić moje wymagania.
Próbowałem tego obejścia: Kiedy tablica wpisywanie znaków z wyprzedzeniem powstaje coraz, ja się z działem obsługi dołączana do elementu tablicy:
$scope.fetchUsers = function(val) {
console.log("Entered fetchUsers function");
return $http.get("http://localhost:8080/TestWeb/users", {
params : {
username : val
}
}).then(function(res) {
console.log("Response:",res);
var users = [];
angular.forEach(res.data, function(item) {
users.push(item.UserName + " - " + item.UserDepartment);
});
console.log("users=",users);
return users;
});
};
ten sposób, przynajmniej końcowy użytkownik widzi dział. Ale kiedy wybiorę rekord, wybrana wartość jest pełną treścią elementu tablicy. Poniżej przykładowy zrzut ekranu do opracowania:
HTML
użytkownikom usługi lokalnej<pre>Model: {{userList | json}}</pre>
<input type="text" ng-model="userList" placeholder="Users loaded from local database"
typeahead="username for username in fetchUsers($viewValue)"
typeahead-loading="loadingUsers" class="form-control">
<i ng-show="loadingUsers" class="glyphicon glyphicon-refresh"></i>
Typy użytkowników w ciągu
Użytkownik wybiera jeden rekord
chcę uniknąć dział (w tym przypadku ciąg - Desc 4
), gdy użytkownik wybierze rekord.
Czy istnieje sposób, w jaki mogę osiągnąć to grupowanie bez obejścia? Czy jest jakiś sposób mogę poprawić moje obejście?
Czy znalazłeś rozwiązanie tego problemu? pokazuje wyniki w Typeahead pogrupowane według kategorii. Próbuję też zrobić to samo. Czy możesz zaproponować jakieś wskazówki do rozwiązania? – Deepak
Rozwiązaniem, którego użyłem, jest zaakceptowana odpowiedź. –
Dzięki za odpowiedź – Deepak