Ich implementiere Typahead mit AngularUI-Bootstrap. Ich muss die Ergebnisse basierend auf einigen Werten anzeigen, die aus der Datenbank stammen. Hier ist ein BeispielszenarioAngularUI-Bootstrap Typeahead: Gruppierungsergebnisse
- Es gibt einige Benutzer in der Datenbank, jeder Benutzer hat eine "Abteilung". Ein Benutzername kann in mehreren Abteilungen verfügbar sein.
- Der Endbenutzer gibt die Namen in die Namen ein, um Benutzer aus der Datenbank zu suchen, und ruft die Liste in der Typahead-Liste ab. Da ein Benutzername zu mehreren Abteilungen gehören kann, müssen die Benutzernamen nach verschiedenen Abteilungen gruppiert sein. Etwas wie dieses:
- Dann kann der Benutzer den gewünschten Benutzernamen auswählen und fortfahren.
Gemäß der Typeahead
Dokumentation vorhanden here, sehe ich jede Option nicht auf meine Anforderung gerecht zu werden.
Ich habe die diese Abhilfe versucht: Jedes Mal, wenn die typeahead Array gebildet zu werden, habe ich die Benutzer-Abteilung an das Array-Element angehängt:
$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;
});
};
Auf diese Weise zumindest der Endbenutzer sieht die Abteilung. Wenn ich den Datensatz auswähle, ist der ausgewählte Wert der vollständige Inhalt des Array-Elements. Im Folgenden Beispiel-Screenshot ist zu erarbeiten:
HTML
Benutzer von lokalen Service<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>
Benutzertypen in der Zeichenfolge
Der Benutzer wählt einen Datensatz
Ich mag die Abteilung vermeiden (in diesem Fall, string - Desc 4
), wenn der Benutzer einen Datensatz auswählt.
Gibt es eine Möglichkeit, diese Gruppierung ohne Umgehung zu erreichen? Oder kann ich meine Problemumgehung verbessern?
Haben Sie eine Lösung gefunden? Ergebnisse in Typeahead nach Kategorien gruppiert Ich versuche das auch zu tun. Können Sie bitte irgendwelche Hinweise zur Lösung vorschlagen? – Deepak
Die Lösung, die ich verwendete, ist die akzeptierte Antwort. –
Danke für die Antwort – Deepak