0

Können Sie mir bitte sagen, wie Sie das Feld löschen oder das Feld in einem deaktivierten Zustand entfernen? Ich verwende UI-Auswahl in diesem Beispiel. Ich füge eine Bedingung hinzu, wenn der Benutzer Nicole auswählt, wird die Auswahl von ui-select aufgehoben (der Benutzer kann keine Optionen mehr auswählen). Aber ich möchte, dass der Benutzer die Nicole im deaktivierten Modus löschen/löschen kann.Wie lösche ich das Feld, wenn sich das ui-select in einem deaktivierten Zustand befindet?

Beispiel: Wenn der Benutzer versehentlich die Option Nicole auswählt, kann er keine andere Option auswählen. Also kann ich die Nicole Option deaktivieren deaktivieren?

Here is my plunker.

$scope.OnClickSelect = function(item) { 
    if (item.name === 'Nicole') { 
     if ($scope.multipleDemo.length > 0) { 
     $scope.multipleDemo.pop =[]; 
     } 
     $scope.disabled = true; 
    } 
    $scope.multipleDemo.push(item.age); 
    } 

Antwort

0

Die Frage ist nicht klar. Möchten Sie den ui-select aktivieren, nachdem Sie "Nicole" ausgewählt haben oder nur das ng-Modell löschen möchten?

Wenn Sie eine Option zur Ermöglichung des ui-Auswahl geben wollen, wenn der Benutzer versehentlich „Nicole“ wählt haben Sie eine Checkbox zu halten oder einen Trigger, die $scope.disabled = false;

auch 2 weitere Probleme mit Ihrer OnClickSelect Methode setzt.

Ich vermute, Sie versuchen, das ng-Moodel zu löschen, wenn der Benutzer "Nicole" auswählt, aber $scope.multipleDemo.pop =[]; erstellt eine neue Eigenschaft mit dem Namen pop zum Array multipleDemo. Wenn Sie das Array löschen möchten, verwenden Sie $scope.multipleDemo =[];

Warum schieben Sie nur Alter Eigenschaft in MultipleDemo-Array? Wenn nur die Eigenschaft age gespeichert werden soll, können Sie die folgende Syntax in Ihrem ui-select-Code verwenden:

<ui-select-choices repeat="person.age as person in people | filter:$select.search"> 
     {{person.name}} 
    </ui-select-choices> 
Verwandte Themen