web-dev-qa-db-ja.com

Angular 2の無効化ボタン

入力「契約タイプ」が空の場合、「保存」ボタンはクリックできません

保存ボタン:

<div class="col-md-4">
        <cic-textbox [control]="formGroup.get('contractType')"></cic-textbox>
      </div>

すべてのボタン:

 <div class="cic-header-actions pull-left" *ngIf="actions && actions.length > 
 0">
      <button class="btn btn-{{action.style}} m-l-xs" *ngFor="let action of actions" ng-disabled="!contractTypeValid" (click)="execute(action)">
          <cic-icon [icon]="action.icon"></cic-icon>
          {{action.text }}
        </button>
    </div>

定義contractType:

 let contractType: DataDictionaryPropertyExtended = {
            Binding: 'VART:BEZEICHNUNG',
            Label: 'Vertragsart',
            LabelCols: 4,
            ContentCols: 8,
            IsDisabled: this.isDisabled,
            ValidationProperties: [
                <ValidationProperty>{
                    Type: ValidationType.IsNotEmpty,
                    ErrorMessage: 'Vertragsart darf nicht leer sein.',
                }
            ]
        };

ボタン保存グリーン:

enter image description here

36
user7325116

ng-disabled="!contractTypeValid"[disabled]="!contractTypeValid"に変更します

66
Robin Dijkhof

[disabled]="!editmode"を使用しようとしましたが、私の場合はうまくいきません。

これが私のソリューション[disabled]="!editmode ? 'disabled': null"であり、懸念を共有しています。

<button [disabled]="!editmode ? 'disabled': ''" 
    (click)='loadChart()'>
            <div class="btn-primary">Load Chart</div>
    </button>

Stackbliz https://stackblitz.com/edit/angular-af55ep

1
Hien Nguyen