Gibt es eine Alternative für ng-deaktiviert in angle2?


145

Ich benutze angle2 für die Entwicklung und habe mich gefragt, ob es eine Alternative für gibt ng-disabled Angular2 gibt.

Zum Beispiel. Der folgende Code ist in angleJS:

<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>

Ich wollte nur wissen, wie ich diese Funktionalität erreichen kann. irgendwelche Eingaben?


15
[disabled] = "! nextLibAvailable" versuchen Sie dies könnte helfen
Mayur

Antworten:


278

Zum Festlegen oder Verwenden der disabledEigenschafttruefalse

<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
Funktioniert nur weiter <button>,(stimmt das?), Was vernünftig ist. Andernfalls erhalten Sie die Fehlermeldung (dh wenn Sie versuchen, an eine zu binden <a>): "Kann nicht an" deaktiviert "
The Red Pea

4
Es funktioniert für jedes Element, das eine disabledEigenschaft hat. Siehe auch stackoverflow.com/questions/35431188/angular
Günter Zöchbauer

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

Sie müssen verwenden null, um attr aus dem HTML-Element zu entfernen.


3
Für Winkel> 2.x ist dies der richtige Weg mit [attr.disabled]
Dale

12
attr.ist nur erforderlich, wenn das Element keine disabledEigenschaft hat. Für Elemente wie Schaltflächen und Eingabeelemente attr.ist redundant. Für Elemente, die keine disabledEigenschaft haben, ist eine Bindung an attr.disablednur dann sinnvoll, wenn Sie sie per CSS adressieren, damit sie deaktiviert aussieht (Mauszeiger, graue Farben, ...)
Günter Zöchbauer

Ja, dies ist der beste Weg, wenn für einige Elemente die Standardeinstellung für deaktivierte Eigenschaften nicht aktiviert ist.
Viraj

Sie können eine Lösung finden hier - es funktioniert mit diesem Attribut in Ihrer Komponenten HTML [attr.aria-disabled]="myPropReflectingIfDisabled". aria-disabled="true"Wenn dies der Fall myPropReflectingIfDisabledist, wird ein Attribut hinzugefügt true.
Netsi1964

6

Hier ist eine Lösung, die ich mit Anular 6 verwende.

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

plus oben angegebene Antwort

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

hat bei mir nicht funktioniert und ich bin mir bewusst, dass ich null verwende, weil ich Bool erwarte.


[readonly] = "DateRelatedObject.bool_DatesEdit? true: false" funktioniert mit Angular 6+
irgendwann

4

Für eckige 4+ Versionen können Sie versuchen

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

0

Ja Sie können entweder [disabled] = "true" setzen oder, wenn es sich um ein Optionsfeld oder ein Kontrollkästchen handelt, einfach disable verwenden

Für Optionsfeld:

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

Für Dropdown:

<ng-select (selected)="someFunction($event)" [disabled]="true"></ng-select>
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.