2016-06-22 5 views
0

Ich habe eine Liste von Objekten, die ich im Wiederholungsattribut von ui-select iteriere.Select-ui entfernt Modellobjekt aus ausgewählten Optionen in einigen Versionen

Ich binde in das Modell eines dieser Objekte und dann verschwindet es aus den Auswahloptionen.

Html-Snippet

<div ui-select="" data-ng-disabled="" data-ng-model="selectedPerson"> 
    <div ui-select-match="" placeholder="Select"> 
     <div> 
     <span>{{$select.selected.name}}</span> 
     </div> 
    </div> 
    <div ui-select-choices="" data-repeat="person in people" data-scrollable=""> 
     <div> 
      <span class="itembalance">{{person.name}}</span> 
     </div> 
    </div> 
</div> 

Js-Controller-

app.controller('DemoCtrl', function($scope, $http, $timeout) { 

    $scope.people = [ 
    { name: 'Adam',  email: '[email protected]',  age: 12, country: 'United States' }, 
    { name: 'Amalie', email: '[email protected]', age: 12, country: 'Argentina' }, 
    { name: 'Estefanía', email: '[email protected]', age: 21, country: 'Argentina' }, 
    { name: 'Adrian', email: '[email protected]', age: 21, country: 'Ecuador' }, 
    { name: 'Wladimir', email: '[email protected]', age: 30, country: 'Ecuador' }, 
    { name: 'Samantha', email: '[email protected]', age: 30, country: 'United States' }, 
    { name: 'Nicole', email: '[email protected]', age: 43, country: 'Colombia' }, 
    { name: 'Natasha', email: '[email protected]', age: 54, country: 'Ecuador' }, 
    { name: 'Michael', email: '[email protected]', age: 15, country: 'Colombia' }, 
    { name: 'Nicolás', email: '[email protected]', age: 43, country: 'Colombia' } 
    ]; 

    $scope.selectedPerson = { name: 'Wladimir', email: '[email protected]', age: 30, country: 'Ecuador' }; 

}); 

Plnkr here

Jede Idee, was falsch ist. Dies begann nach dem Upgrade auf diese Version. Es tritt nicht mit 0.7 auf. * ​​Ich konnte kein Änderungsprotokoll finden, das den Grund dafür angibt.

Zielversion ist 0.17.1

+0

Falsche Zielversion. Die Version 0.18.0 hat ihren Header nicht geändert, was mich glauben macht, dass ich auf der 0.17.1 war, während ich in Wahrheit in der 0.18.0 war. Ein Fall auf 0,17,1 löste das Problem. Warten auf 0.18. *, Um dies zu lösen, da es den Trick macht. –

Antwort

0

Ok, gearbeitet um ihn herum und verglich die beiden Versionen 0.17.1 und 0.18.0

Scheint einige Änderungen in beide getan haben. Ich habe nicht zu viel gegraben, aber die Einstellung remover-selected = "false" scheint das Problem zu lösen. In Version 0.17.1 wurde diese Version standardmäßig auf "false" gesetzt, obwohl sie jetzt auf der Basis von uiSelectConfig festgelegt wurde.

Jeder andere stolpert darüber, ich würde empfehlen, mit 0.17.1 zu gehen, obwohl das meistens dasselbe ist.

1

Dies könnte ein Fehler über ui-select sein. Wenn Sie den Wert nach der Richtlinie festgelegten kompiliert wird, dann ist es kein Problem

$timeout(function() { 
    $scope.select.selectedPerson = $scope.people[1]; 
}, 2000); 

http://plnkr.co/edit/sGnZcV6ErMPD1R6MG5U0?p=preview

Aber wenn Sie den Standardwert festgelegt, bevor er kompiliert wird, dann wird Option entfernt.

+0

Dies ist ein guter Einblick, aber es löst das Problem nicht wirklich. Sieht so aus, als wäre es ein Fehler von ui select, aber ich suche nach einer Möglichkeit, ui-select zu identifizieren und zu beheben, um die gesamte Codebasis nicht mit Timeout-Funktionen zu ändern, die nicht jedes Mal anwendbar sind. –

Verwandte Themen