Sto implementando typeahead utilizzando AngularUI-Bootstrap. Devo mostrare i risultati raggruppati in base ad alcuni valori provenienti dal database. Ecco uno scenario di esempioAngularUI-Bootstrap Typeahead: Raggruppamento dei risultati
- Ci sono alcuni utenti nel database, ogni utente ha un "Dipartimento". Un nome utente può essere disponibile in più reparti.
- L'utente finale digita i nomi per cercare utenti dal database e recupera l'elenco nell'elenco dei caratteri. Poiché un nome utente può appartenere a più reparti, il requisito è mostrare i nomi utente raggruppati in dipartimenti diversi. Qualcosa del genere:
- Quindi l'utente può selezionare il nome utente desiderato e procedere.
Come per la Typeahead
documentazione presente here, non vedo alcuna possibilità di soddisfare la mia richiesta.
Ho provato il questa soluzione: Quando l'array typeahead si sta formata, io allegate dipartimento dell'utente all'elemento dell'array:
$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;
});
};
In questo modo, almeno l'utente finale vede dipartimento. Ma quando seleziono il record, il valore selezionato è il contenuto completo dell'elemento dell'array. Di seguito è riportato screenshot di esempio per elaborare:
HTML
utenti dal servizio locale<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>
utente digita la stringa
L'utente seleziona un record
voglio evitare il reparto (in questo caso, stringa - Desc 4
) quando l'utente seleziona un record.
C'è un modo per ottenere questo raggruppamento senza alcuna soluzione? O c'è un modo per migliorare la mia soluzione alternativa?
Hai trovato qualche soluzione di questo. mostrando i risultati in Typeahead raggruppati per categoria. Sto anche cercando di fare lo stesso. Potete suggerire qualsiasi suggerimento per una soluzione? – Deepak
La soluzione che ho usato è la risposta accettata. –
Grazie per aver risposto – Deepak