angular2でng-disabledに代わるものはありますか?


145

私はangular2を開発に使用してng-disabledおり、angular2の代わりになるものがないかと思っていました。

例のために。以下のコードは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>

どうすればこの機能を実現できますか?入力はありますか?


15
[disabled] = "!nextLibAvailable"試してみてください
mayur

回答:


278

disabledプロパティをに設定trueまたはfalse使用するには

<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
のみで動作します<button>,(それは本当ですか?)、合理的です。それ以外の場合はエラーメッセージが表示されます(つまり、にバインドしようとした場合<a>) `'a'の既知のプロパティではないため、 'disabled'にバインドできません`
The Red Pea

4
disabledプロパティを持つすべての要素で機能します。参照してくださいstackoverflow.com/questions/35431188/angular
ギュンターZöchbauer

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

を使用nullして、html要素からattrを削除する必要があります。


3
以下のための角度> 2.xでは、これは[attr.disabled】使用して正しい方法である
デールを

12
attr.要素にdisabledプロパティがない場合にのみ必要です。ボタンや入力要素などの要素attr.は冗長です。持っていない要素のためのdisabledプロパティをへの結合がattr.disabled、あなたはそれが無効(マウスポインタ、グレー色、...)のように見えるようにCSSでそれに対処している場合にのみ意味がある
ギュンターZöchbauer

はい、これは、一部の要素で無効にされたプロパティのデフォルトがない場合に最適な方法です。
Viraj 2017年

あなたはここで解決策を見ることができます -それはあなたのコンポーネントHTMLのこの属性で動作します [attr.aria-disabled]="myPropReflectingIfDisabled"。これは、属性を追加するaria-disabled="true"場合myPropReflectingIfDisabledですtrue
Netsi1964

6

これがanular 6で使用するソリューションです。

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

プラス上記の答え

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

私にとってはうまくいきませんでしたし、nullを使用していることに注意してください。


[readonly] = "DateRelatedObject.bool_DatesEdit?true:false"はAngular 6以降で動作します
somedev


0

はい[disabled] = "true"に設定するか、ラジオボタンまたはチェックボックスの場合は、単にdisableを使用できます。

ラジオボタンの場合:

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

ドロップダウンの場合:

<ng-select (selected)="someFunction($event)" [disabled]="true"></ng-select>
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.