Muszę ukryć i pokazywać pola tekstowe na podstawie wartości wybranej w rozwijanym.

Jest już wykonane w kątach 1, ale jak to zrobić w kątach 4.

<div ng-app ng-controller="Controller">
    <select ng-model="myDropDown">
          <option value="one">One</option>
          <option value="two">Two</option>
          <option value="three">Three</option>
    </select>

    <input ng-show="myDropDown=='two'" type="text">
</div>


function Controller ($scope) {
    $scope.myDropDown = 'one';
}

Skrzypce w kątach 1

4
SmartestVEGA 4 czerwiec 2018, 14:42

3 odpowiedzi

Najlepsza odpowiedź

Możesz użyć [hidden]

[hidden]="myDropDown !=='two'"

Stackblitz Demo

9
Sajeetharan 4 czerwiec 2018, 11:46

ng-show/ng-hide nie jest obsługiwany dla kanciasty 2 i więcej. Możesz więc użyć [hidden] jako ng-show/ng-hide lub użyj * ngif jako ng-if w powyższym kątowym 2.

Spróbuj *ngIf zamiast ng-show

<input *ngIf="myDropDown=='two'" type="text">

PRÓBNY

3
Ramesh Rajendran 4 czerwiec 2018, 11:50

* Ngif obejmuje manipulację DOM. Widziałem [ukryty] nie działa wiele razy. Moja sugestia tworzy dwie klasy ukryj i pokaż

.hide{
visibility:hidden;
}
.show{
visibility:unset;
}

Użyj [NgClass] zgodnie z wymaganiami.

[ngClass]="{'hide' : hideDiv, 'show' : !hideDiv}"
1
Ashish Santikari 4 czerwiec 2018, 13:07