czy jest jakaś alternatywa dla ng-disabled w angular2?


145

Używam angular2 do programowania i zastanawiałem się, czy jest jakaś alternatywa dla ng-disabledangular2.

Na przykład. poniższy kod jest w angularJS:

<button ng-disabled="!nextLibAvailable" ng-click="showNext('library')" class=" btn btn-info btn-xs" title="Next Lib >> {{libraries.name}}">
    <i class="fa fa-chevron-right fa-fw"></i>
</button>

Chciałem tylko wiedzieć, jak mogę osiągnąć tę funkcjonalność? jakieś dane wejściowe?


15
[disabled] = "! nextLibAvailable" spróbuj, to może pomóc
2016

Odpowiedzi:


278

Aby ustawić disabledwłaściwość na truelub falseużyj

<button [disabled]="!nextLibAvailable" (click)="showNext('library')" class=" btn btn-info btn-xs" title="Next Lib"> {{libraries.name}}">
    <i class="fa fa-chevron-right fa-fw"></i>
</button>

5
Działa tylko na <button>,(czy to prawda?), Co jest rozsądne. W przeciwnym razie pojawi się komunikat o błędzie (np. Podczas próby powiązania z <a>) `` Nie można powiązać z 'wyłączonym' ', ponieważ nie jest to znana właściwość `` a' '
The Red Pea

4
Działa na każdym elemencie, który ma disabledwłaściwość. Zobacz także stackoverflow.com/questions/35431188/angular
Günter Zöchbauer

69
[attr.disabled]="valid == true ? true : null"

Musisz użyć, nullaby usunąć attr z elementu html.


3
Dla kątów> 2.x jest to poprawny sposób korzystania z [attr.disabled]
dale

12
attr.jest wymagany tylko wtedy, gdy element nie ma disabledwłaściwości. W przypadku elementów takich jak przyciski i elementy wejściowe attr.jest zbędne. W przypadku elementów, które nie mają disabledwłaściwości, powiązanie attr.disabledma znaczenie tylko wtedy, gdy zaadresujesz je przez CSS, aby wyglądały jak wyłączone (wskaźnik myszy, szare kolory, ...)
Günter Zöchbauer

Tak, jest to najlepszy sposób, gdy jakiś element nie ma wyłączonej domyślnej właściwości.
Viraj,

Możesz zobaczyć rozwiązanie tutaj - działa z tym atrybutem w kodzie HTML komponentów [attr.aria-disabled]="myPropReflectingIfDisabled". Doda atrybut, aria-disabled="true"jeśli myPropReflectingIfDisabledjest true.
Netsi1964

6

Oto rozwiązanie, którego używam z anular 6.

[readonly]="DateRelatedObject.bool_DatesEdit ? true : false"

plus powyższa odpowiedź

[attr.disabled]="valid == true ? true : null"

nie działa dla mnie i pamiętaj o używaniu null, ponieważ oczekuje bool.


[readonly] = "DateRelatedObject.bool_DatesEdit? true: false" działa z Angular 6+
somedev

4

W przypadku wersji kątowych 4+ możesz spróbować

<input [readonly]="true" type="date" name="date" />

0

Tak Możesz ustawić [disabled] = "true" lub jeśli jest to przycisk radiowy lub pole wyboru, można po prostu użyć wyłączenia

W przypadku przycisku radiowego:

<md-radio-button disabled>Select color</md-radio-button>

Lista rozwijana:

<ng-select (selected)="someFunction($event)" [disabled]="true"></ng-select>
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.